diff --git a/Src/Graphics/New3D/New3D.cpp b/Src/Graphics/New3D/New3D.cpp index cec74bd..dc4a8d6 100644 --- a/Src/Graphics/New3D/New3D.cpp +++ b/Src/Graphics/New3D/New3D.cpp @@ -648,6 +648,8 @@ void CNew3D::RenderViewport(UINT32 addr, int pri) vpHeight = (vpnode[0x14] >> 18) & 0x3FFF; // height (14.2) matrixBase = vpnode[0x16] & 0xFFFFFF; // matrix base address + LODBlendTable* tableTest = (LODBlendTable*)TranslateCullingAddress(vpnode[0x17]); + // Field of view and clipping vpTopAngle = (float)asin(*(float *)&vpnode[0x0E]); // FOV Y upper half-angle (radians) vpBotAngle = (float)asin(*(float *)&vpnode[0x12]); // FOV Y lower half-angle diff --git a/Src/Graphics/New3D/New3D.h b/Src/Graphics/New3D/New3D.h index f30ad35..b529823 100644 --- a/Src/Graphics/New3D/New3D.h +++ b/Src/Graphics/New3D/New3D.h @@ -36,6 +36,7 @@ #include "Mat4.h" #include "R3DShader.h" #include "VBO.h" +#include "R3DData.h" namespace New3D { diff --git a/Src/Graphics/New3D/R3DData.h b/Src/Graphics/New3D/R3DData.h new file mode 100644 index 0000000..a289f7c --- /dev/null +++ b/Src/Graphics/New3D/R3DData.h @@ -0,0 +1,20 @@ +#ifndef _R3DDATA_H_ +#define _R3DDATA_H_ + +struct LOD +{ + float startRange; // possibly specified as angles also, yeah who knows >_< + float deleteRange; +}; + +struct LODFeatureType +{ + LOD lod[4]; +}; + +struct LODBlendTable +{ + LODFeatureType table[128]; +}; + +#endif \ No newline at end of file