07-10-2016 04:54 PM
HResolution = 1280; // HMD horizontal resolution in pixels
VResolution = 800; // HMD vertical resolution in pixels
HScreenSize = 0.14976f; // HMD horizontal size in meters
VScreenSize = 0.09356f; // HMD vertical size in meters
VScreenCenter = 0.04678f; // HMD screen center in meters
EyeToScreenDistance = 0.041f; // HMD distance between eye and display in meters
LensSeparationDistance = 0.0635f; // HMD lens separation distance in meters
InterpupillaryDistance = 0.064f; // HMD IPD (distance between pupils) in meters
DistortionK = { 1.0f, 0.22f, 0.24f, 0.0f }; // HMD lens distortion constants
ChromaAbCorrection = { 0.996f, -0.004f, 1.014f, 0.0f }; // HMD chromatic aberration correction parameters
HResolution = 2160; // HMD horizontal resolution in pixels
VResolution = 1200; // HMD vertical resolution in pixels
HScreenSize = 0.133793f???; // HMD horizontal size in meters
VScreenSize = 0.09356f????; // HMD vertical size in meters
VScreenCenter = ???; // HMD screen center in meters
EyeToScreenDistance = ???; // HMD distance between eye and display in meters
LensSeparationDistance = 0.064f???; // HMD lens separation distance in meters
InterpupillaryDistance = 0.064f???; // HMD IPD (distance between pupils) in meters
DistortionK = ???; // HMD lens distortion constants
ChromaAbCorrection = ???; // HMD chromatic aberration correction parameters
07-10-2016 08:50 PM
07-16-2016 02:04 AM
07-16-2016 08:31 AM
07-16-2016 10:09 AM
#include <fstream>
#include <vector>
#include <d3dcompiler.h>
struct Header {
unsigned int magic;
unsigned char sign[16];
unsigned int one;
unsigned int size;
unsigned int chunks;
};
int main() {
std::ifstream f(R"(C:\Program Files (x86)\Oculus\Support\oculus-runtime\OVRServer_x64.exe)",std::ios::binary|std::ios::ate);
if (!f)
return 1;
auto len = f.tellg();
f.seekg(0,std::ios::beg);
std::vector<char> file(len);
f.read(file.data(),len);
int val{};
for (std::size_t p = 0;p<file.size()-4;++p) {
if (file!='D' || file[p+1]!='X' ||file[p+2]!='B' ||file[p+3]!='C')
continue;
Header* head = (Header*)(file.data()+p);
char name[256];
sprintf_s(name,256,"dump%03d.cso",val);
std::ofstream out(name,std::ios::binary|std::ios::trunc);
out.write((char const*)head,head->size);
sprintf_s(name,256,"// dump%03d.cso ",val); // because disassemble put the comment before //, microsoft seriously ?
ID3DBlob* result{};
if (S_OK==D3DDisassemble(head,head->size,D3D_DISASM_ENABLE_COLOR_CODE|D3D_DISASM_ENABLE_INSTRUCTION_NUMBERING,name,&result)) {
sprintf_s(name,256,"_disa%03d.html",val);
std::ofstream out(name,std::ios::trunc);
out<<"<html>";
out.write((char const*)result->GetBufferPointer(),result->GetBufferSize());
out<<"</html>";
result->Release();
}
val++;
}
}
07-16-2016 02:02 PM