mirror of
https://github.com/jmarshall23/DoomRTX.git
synced 2026-08-15 15:51:07 +02:00
Fixed MD5 models.
GI now bounces off textures properly.
This commit is contained in:
@@ -568,10 +568,12 @@ void idRenderModelStatic::UpdateDXR(uint32_t& dxrBottomAcel, int onlySurface)
|
||||
continue;
|
||||
|
||||
modelSurface_t* surf = &surfaces[i];
|
||||
if (!surf->geometry || surf->geometry->numVerts <= 0 || surf->geometry->numIndexes <= 0)
|
||||
continue;
|
||||
|
||||
if (onlySurface == -1)
|
||||
{
|
||||
if (!surf->shader->IsLitMaterial()) {
|
||||
if (!surf->shader || !surf->shader->IsLitMaterial()) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
@@ -591,14 +593,21 @@ void idRenderModelStatic::UpdateDXR(uint32_t& dxrBottomAcel, int onlySurface)
|
||||
continue;
|
||||
|
||||
modelSurface_t* surf = &surfaces[i];
|
||||
if (!surf->geometry || surf->geometry->numVerts <= 0 || surf->geometry->numIndexes <= 0)
|
||||
continue;
|
||||
|
||||
if (onlySurface == -1)
|
||||
{
|
||||
if (!surf->shader->IsLitMaterial()) {
|
||||
if (!surf->shader || !surf->shader->IsLitMaterial()) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if (!surf->geometry->tangentsCalculated)
|
||||
{
|
||||
R_DeriveTangents(surf->geometry);
|
||||
}
|
||||
|
||||
for (int d = 0; d < surf->geometry->numIndexes; ++d)
|
||||
{
|
||||
indices[indexId++] = vertexId + surf->geometry->indexes[d];
|
||||
@@ -606,9 +615,15 @@ void idRenderModelStatic::UpdateDXR(uint32_t& dxrBottomAcel, int onlySurface)
|
||||
|
||||
for (int d = 0; d < surf->geometry->numVerts; ++d)
|
||||
{
|
||||
vertices[vertexId].xyz[0] = surf->geometry->verts[d].xyz.x;
|
||||
vertices[vertexId].xyz[1] = surf->geometry->verts[d].xyz.y;
|
||||
vertices[vertexId].xyz[2] = surf->geometry->verts[d].xyz.z;
|
||||
const idDrawVert& src = surf->geometry->verts[d];
|
||||
vertices[vertexId].xyz[0] = src.xyz.x;
|
||||
vertices[vertexId].xyz[1] = src.xyz.y;
|
||||
vertices[vertexId].xyz[2] = src.xyz.z;
|
||||
vertices[vertexId].normal[0] = src.normal.x;
|
||||
vertices[vertexId].normal[1] = src.normal.y;
|
||||
vertices[vertexId].normal[2] = src.normal.z;
|
||||
vertices[vertexId].st[0] = src.st.x;
|
||||
vertices[vertexId].st[1] = src.st.y;
|
||||
vertexId++;
|
||||
}
|
||||
}
|
||||
@@ -625,6 +640,10 @@ void idRenderModelStatic::UpdateDXR(uint32_t& dxrBottomAcel, int onlySurface)
|
||||
desc.indexCount = (uint32_t)numDXRIndexes;
|
||||
desc.allowUpdate = 1;
|
||||
desc.opaque = 1;
|
||||
desc.averageColor[0] = 1.0f;
|
||||
desc.averageColor[1] = 1.0f;
|
||||
desc.averageColor[2] = 1.0f;
|
||||
desc.averageColor[3] = 1.0f;
|
||||
|
||||
if (!dxrBottomAcel)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user