mirror of
https://github.com/ioquake/ioq3.git
synced 2025-05-30 16:41:31 +00:00
43 lines
1.2 KiB
C
43 lines
1.2 KiB
C
#include "tr_backend.h"
|
|
#include "vk_shade_geometry.h"
|
|
#include "tr_globals.h"
|
|
#include "vk_pipelines.h"
|
|
|
|
/*
|
|
================
|
|
Draws vertex normals for debugging
|
|
================
|
|
*/
|
|
void RB_DrawNormals (shaderCommands_t* pTess, int numVertexes )
|
|
{
|
|
// VULKAN
|
|
// int numVertexes = tess.numVertexes;
|
|
vec4_t xyz[SHADER_MAX_VERTEXES];
|
|
memcpy(xyz, pTess->xyz, numVertexes * sizeof(vec4_t));
|
|
|
|
memset(pTess->svars.colors, tr.identityLightByte, SHADER_MAX_VERTEXES * sizeof(color4ub_t));
|
|
|
|
int i = 0;
|
|
while (i < numVertexes)
|
|
{
|
|
int count = numVertexes - i;
|
|
if (count >= SHADER_MAX_VERTEXES/2 - 1)
|
|
count = SHADER_MAX_VERTEXES/2 - 1;
|
|
|
|
int k;
|
|
for (k = 0; k < count; k++)
|
|
{
|
|
VectorCopy(xyz[i + k], pTess->xyz[2*k]);
|
|
VectorMA(xyz[i + k], 2, pTess->normal[i + k], pTess->xyz[2*k + 1]);
|
|
}
|
|
pTess->numVertexes = 2 * count;
|
|
pTess->numIndexes = 0;
|
|
|
|
vk_UploadXYZI(pTess->xyz, pTess->numVertexes, NULL, 0);
|
|
|
|
updateMVP(backEnd.viewParms.isPortal, backEnd.projection2D, getptr_modelview_matrix());
|
|
vk_shade_geometry(g_stdPipelines.normals_debug_pipeline, VK_FALSE, DEPTH_RANGE_ZERO, VK_FALSE);
|
|
|
|
i += count;
|
|
}
|
|
}
|