diff --git a/code/renderergl2/glsl/lightall_fp.glsl b/code/renderergl2/glsl/lightall_fp.glsl index 9e53d4a8..531267cb 100644 --- a/code/renderergl2/glsl/lightall_fp.glsl +++ b/code/renderergl2/glsl/lightall_fp.glsl @@ -53,14 +53,9 @@ varying vec4 var_ColorAmbient; #endif #if (defined(USE_LIGHT) && !defined(USE_FAST_LIGHT)) - #if defined(USE_VERT_TANGENT_SPACE) varying vec4 var_Normal; varying vec4 var_Tangent; varying vec4 var_Bitangent; - #else -varying vec3 var_Normal; -varying vec3 var_ViewDir; - #endif #endif #if defined(USE_LIGHT) && !defined(USE_FAST_LIGHT) @@ -196,25 +191,6 @@ float CalcLightAttenuation(float point, float normDist) return attenuation; } -// from http://www.thetenthplanet.de/archives/1180 -mat3 cotangent_frame( vec3 N, vec3 p, vec2 uv ) -{ - // get edge vectors of the pixel triangle - vec3 dp1 = dFdx( p ); - vec3 dp2 = dFdy( p ); - vec2 duv1 = dFdx( uv ); - vec2 duv2 = dFdy( uv ); - - // solve the linear system - vec3 dp2perp = cross( dp2, N ); - vec3 dp1perp = cross( N, dp1 ); - vec3 T = dp2perp * duv1.x + dp1perp * duv2.x; - vec3 B = dp2perp * duv1.y + dp1perp * duv2.y; - - // construct a scale-invariant frame - float invmax = inversesqrt( max( dot(T,T), dot(B,B) ) ); - return mat3( T * invmax, B * invmax, N ); -} void main() { @@ -223,13 +199,8 @@ void main() float NL, NH, NE, EH, attenuation; #if defined(USE_LIGHT) && !defined(USE_FAST_LIGHT) - #if defined(USE_VERT_TANGENT_SPACE) mat3 tangentToWorld = mat3(var_Tangent.xyz, var_Bitangent.xyz, var_Normal.xyz); viewDir = vec3(var_Normal.w, var_Tangent.w, var_Bitangent.w); - #else - mat3 tangentToWorld = cotangent_frame(var_Normal, -var_ViewDir, var_TexCoords.xy); - viewDir = var_ViewDir; - #endif E = normalize(viewDir); #endif diff --git a/code/renderergl2/glsl/lightall_vp.glsl b/code/renderergl2/glsl/lightall_vp.glsl index 783885e9..e5b3c4f9 100644 --- a/code/renderergl2/glsl/lightall_vp.glsl +++ b/code/renderergl2/glsl/lightall_vp.glsl @@ -6,16 +6,12 @@ attribute vec4 attr_Color; attribute vec3 attr_Position; attribute vec3 attr_Normal; -#if defined(USE_VERT_TANGENT_SPACE) attribute vec4 attr_Tangent; -#endif #if defined(USE_VERTEX_ANIMATION) attribute vec3 attr_Position2; attribute vec3 attr_Normal2; - #if defined(USE_VERT_TANGENT_SPACE) attribute vec4 attr_Tangent2; - #endif #endif #if defined(USE_LIGHT) && !defined(USE_LIGHT_VECTOR) @@ -74,14 +70,9 @@ varying vec4 var_ColorAmbient; #endif #if defined(USE_LIGHT) && !defined(USE_FAST_LIGHT) - #if defined(USE_VERT_TANGENT_SPACE) varying vec4 var_Normal; varying vec4 var_Tangent; varying vec4 var_Bitangent; - #else -varying vec3 var_Normal; -varying vec3 var_ViewDir; - #endif #endif #if defined(USE_LIGHT) && !defined(USE_FAST_LIGHT) @@ -157,13 +148,13 @@ void main() #if defined(USE_VERTEX_ANIMATION) vec3 position = mix(attr_Position, attr_Position2, u_VertexLerp); vec3 normal = mix(attr_Normal, attr_Normal2, u_VertexLerp); - #if defined(USE_VERT_TANGENT_SPACE) && defined(USE_LIGHT) && !defined(USE_FAST_LIGHT) + #if defined(USE_LIGHT) && !defined(USE_FAST_LIGHT) vec3 tangent = mix(attr_Tangent.xyz, attr_Tangent2.xyz, u_VertexLerp); #endif #else vec3 position = attr_Position; vec3 normal = attr_Normal; - #if defined(USE_VERT_TANGENT_SPACE) && defined(USE_LIGHT) && !defined(USE_FAST_LIGHT) + #if defined(USE_LIGHT) && !defined(USE_FAST_LIGHT) vec3 tangent = attr_Tangent.xyz; #endif #endif @@ -185,12 +176,12 @@ void main() #if defined(USE_MODELMATRIX) position = (u_ModelMatrix * vec4(position, 1.0)).xyz; normal = (u_ModelMatrix * vec4(normal, 0.0)).xyz; - #if defined(USE_VERT_TANGENT_SPACE) && defined(USE_LIGHT) && !defined(USE_FAST_LIGHT) + #if defined(USE_LIGHT) && !defined(USE_FAST_LIGHT) tangent = (u_ModelMatrix * vec4(tangent, 0.0)).xyz; #endif #endif -#if defined(USE_VERT_TANGENT_SPACE) && defined(USE_LIGHT) && !defined(USE_FAST_LIGHT) +#if defined(USE_LIGHT) && !defined(USE_FAST_LIGHT) vec3 bitangent = cross(normal, tangent) * attr_Tangent.w; #endif @@ -247,14 +238,9 @@ void main() #if defined(USE_LIGHT) && !defined(USE_FAST_LIGHT) vec3 viewDir = u_ViewOrigin - position; - #if defined(USE_VERT_TANGENT_SPACE) // store view direction in tangent space to save on varyings var_Normal = vec4(normal, viewDir.x); var_Tangent = vec4(tangent, viewDir.y); var_Bitangent = vec4(bitangent, viewDir.z); - #else - var_Normal = normal; - var_ViewDir = viewDir; - #endif #endif } diff --git a/code/renderergl2/tr_bsp.c b/code/renderergl2/tr_bsp.c index 8f56de8e..44636f23 100644 --- a/code/renderergl2/tr_bsp.c +++ b/code/renderergl2/tr_bsp.c @@ -809,7 +809,6 @@ static void ParseFace( dsurface_t *ds, drawVert_t *verts, float *hdrVertColors, surf->data = (surfaceType_t *)cv; -#ifdef USE_VERT_TANGENT_SPACE // Calculate tangent spaces { srfVert_t *dv[3]; @@ -823,7 +822,6 @@ static void ParseFace( dsurface_t *ds, drawVert_t *verts, float *hdrVertColors, R_CalcTangentVectors(dv); } } -#endif } @@ -963,7 +961,6 @@ static void ParseTriSurf( dsurface_t *ds, drawVert_t *verts, float *hdrVertColor cv->numIndexes -= badTriangles * 3; } -#ifdef USE_VERT_TANGENT_SPACE // Calculate tangent spaces { srfVert_t *dv[3]; @@ -977,7 +974,6 @@ static void ParseTriSurf( dsurface_t *ds, drawVert_t *verts, float *hdrVertColor R_CalcTangentVectors(dv); } } -#endif } /* @@ -1773,9 +1769,7 @@ static int BSPSurfaceCompare(const void *a, const void *b) static void CopyVert(const srfVert_t * in, srfVert_t * out) { VectorCopy(in->xyz, out->xyz); -#ifdef USE_VERT_TANGENT_SPACE VectorCopy4(in->tangent, out->tangent); -#endif VectorCopy4(in->normal, out->normal); VectorCopy4(in->lightdir, out->lightdir); diff --git a/code/renderergl2/tr_curve.c b/code/renderergl2/tr_curve.c index 2f56b4b3..8889f06e 100644 --- a/code/renderergl2/tr_curve.c +++ b/code/renderergl2/tr_curve.c @@ -216,7 +216,6 @@ static int neighbors[8][2] = { } } -#ifdef USE_VERT_TANGENT_SPACE static void MakeMeshTangentVectors(int width, int height, srfVert_t ctrl[MAX_GRID_SIZE][MAX_GRID_SIZE], int numIndexes, glIndex_t indexes[(MAX_GRID_SIZE-1)*(MAX_GRID_SIZE-1)*2*3]) { @@ -255,7 +254,6 @@ static void MakeMeshTangentVectors(int width, int height, srfVert_t ctrl[MAX_GRI } } } -#endif static int MakeMeshIndexes(int width, int height, glIndex_t indexes[(MAX_GRID_SIZE-1)*(MAX_GRID_SIZE-1)*2*3]) @@ -615,9 +613,7 @@ void R_SubdividePatchToGrid( srfBspSurface_t *grid, int width, int height, // calculate normals MakeMeshNormals( width, height, ctrl ); -#ifdef USE_VERT_TANGENT_SPACE MakeMeshTangentVectors(width, height, ctrl, numIndexes, indexes); -#endif R_CreateSurfaceGridMesh(grid, width, height, ctrl, errorTable, numIndexes, indexes); } @@ -670,9 +666,7 @@ void R_GridInsertColumn( srfBspSurface_t *grid, int column, int row, vec3_t poin // calculate normals MakeMeshNormals( width, height, ctrl ); -#ifdef USE_VERT_TANGENT_SPACE MakeMeshTangentVectors(width, height, ctrl, numIndexes, indexes); -#endif VectorCopy(grid->lodOrigin, lodOrigin); lodRadius = grid->lodRadius; @@ -732,9 +726,7 @@ void R_GridInsertRow( srfBspSurface_t *grid, int row, int column, vec3_t point, // calculate normals MakeMeshNormals( width, height, ctrl ); -#ifdef USE_VERT_TANGENT_SPACE MakeMeshTangentVectors(width, height, ctrl, numIndexes, indexes); -#endif VectorCopy(grid->lodOrigin, lodOrigin); lodRadius = grid->lodRadius; diff --git a/code/renderergl2/tr_glsl.c b/code/renderergl2/tr_glsl.c index f9349422..bd20bed9 100644 --- a/code/renderergl2/tr_glsl.c +++ b/code/renderergl2/tr_glsl.c @@ -1061,10 +1061,7 @@ void GLSL_InitGPUShaders(void) { Q_strcat(extradefines, 1024, "#define USE_NORMALMAP\n"); -#ifdef USE_VERT_TANGENT_SPACE - Q_strcat(extradefines, 1024, "#define USE_VERT_TANGENT_SPACE\n"); attribs |= ATTR_TANGENT; -#endif if ((i & LIGHTDEF_USE_PARALLAXMAP) && !(i & LIGHTDEF_ENTITY) && r_parallaxMapping->integer) { @@ -1119,12 +1116,10 @@ void GLSL_InitGPUShaders(void) Q_strcat(extradefines, 1024, "#define USE_VERTEX_ANIMATION\n#define USE_MODELMATRIX\n"); attribs |= ATTR_POSITION2 | ATTR_NORMAL2; -#ifdef USE_VERT_TANGENT_SPACE if (r_normalMapping->integer) { attribs |= ATTR_TANGENT2; } -#endif } if (!GLSL_InitGPUShader(&tr.lightallShader[i], "lightall", attribs, qtrue, extradefines, qtrue, fallbackShader_lightall_vp, fallbackShader_lightall_fp)) diff --git a/code/renderergl2/tr_local.h b/code/renderergl2/tr_local.h index 09e70d26..a39ca3de 100644 --- a/code/renderergl2/tr_local.h +++ b/code/renderergl2/tr_local.h @@ -55,8 +55,6 @@ typedef unsigned int glIndex_t; #define MAX_DRAWN_PSHADOWS 16 // do not increase past 32, because bit flags are used on surfaces #define PSHADOW_MAP_SIZE 512 -#define USE_VERT_TANGENT_SPACE - typedef struct cubemap_s { char name[MAX_QPATH]; vec3_t origin; @@ -894,9 +892,7 @@ typedef struct vec2_t st; vec2_t lightmap; int16_t normal[4]; -#ifdef USE_VERT_TANGENT_SPACE int16_t tangent[4]; -#endif int16_t lightdir[4]; vec4_t vertexColors; @@ -905,11 +901,7 @@ typedef struct #endif } srfVert_t; -#ifdef USE_VERT_TANGENT_SPACE #define srfVert_t_cleared(x) srfVert_t (x) = {{0, 0, 0}, {0, 0}, {0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}} -#else -#define srfVert_t_cleared(x) srfVert_t (x) = {{0, 0, 0}, {0, 0}, {0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}} -#endif // srfBspSurface_t covers SF_GRID, SF_TRIANGLES, SF_POLY, and SF_VAO_MESH typedef struct srfBspSurface_s @@ -1200,9 +1192,7 @@ typedef struct { vec3_t xyz; int16_t normal[4]; -#ifdef USE_VERT_TANGENT_SPACE int16_t tangent[4]; -#endif } mdvVertex_t; typedef struct @@ -2002,9 +1992,7 @@ typedef struct shaderCommands_s glIndex_t indexes[SHADER_MAX_INDEXES] QALIGN(16); vec4_t xyz[SHADER_MAX_VERTEXES] QALIGN(16); int16_t normal[SHADER_MAX_VERTEXES][4] QALIGN(16); -#ifdef USE_VERT_TANGENT_SPACE int16_t tangent[SHADER_MAX_VERTEXES][4] QALIGN(16); -#endif vec2_t texCoords[SHADER_MAX_VERTEXES][2] QALIGN(16); vec4_t vertexColors[SHADER_MAX_VERTEXES] QALIGN(16); int16_t lightdir[SHADER_MAX_VERTEXES][4] QALIGN(16); diff --git a/code/renderergl2/tr_main.c b/code/renderergl2/tr_main.c index ddbbf905..014457af 100644 --- a/code/renderergl2/tr_main.c +++ b/code/renderergl2/tr_main.c @@ -128,7 +128,6 @@ vec_t R_CalcTangentSpace(vec3_t tangent, vec3_t bitangent, const vec3_t normal, return handedness; } -#ifdef USE_VERT_TANGENT_SPACE qboolean R_CalcTangentVectors(srfVert_t * dv[3]) { int i; @@ -189,7 +188,6 @@ qboolean R_CalcTangentVectors(srfVert_t * dv[3]) return qtrue; } -#endif /* diff --git a/code/renderergl2/tr_model.c b/code/renderergl2/tr_model.c index e1faee1f..e5de2e3e 100644 --- a/code/renderergl2/tr_model.c +++ b/code/renderergl2/tr_model.c @@ -598,7 +598,6 @@ static qboolean R_LoadMD3(model_t * mod, int lod, void *buffer, int bufferSize, st->st[1] = LittleFloat(md3st->st[1]); } -#ifdef USE_VERT_TANGENT_SPACE // calc tangent spaces { vec3_t *sdirs = ri.Malloc(sizeof(*sdirs) * surf->numVerts * mdvModel->numFrames); @@ -659,7 +658,6 @@ static qboolean R_LoadMD3(model_t * mod, int lod, void *buffer, int bufferSize, ri.Free(sdirs); ri.Free(tdirs); } -#endif // find the next surface md3Surf = (md3Surface_t *) ((byte *) md3Surf + md3Surf->ofsEnd); @@ -690,9 +688,7 @@ static qboolean R_LoadMD3(model_t * mod, int lod, void *buffer, int bufferSize, offset_tangent = offset_normal + sizeof(int16_t) * 4; stride_st = glRefConfig.packedTexcoordDataSize; stride_xyz = sizeof(vec3_t) + sizeof(int16_t) * 4; -#ifdef USE_VERT_TANGENT_SPACE stride_xyz += sizeof(int16_t) * 4; -#endif stride_normal = stride_tangent = stride_xyz; dataSize = offset_xyz + surf->numVerts * mdvModel->numFrames * stride_xyz; @@ -704,11 +700,7 @@ static qboolean R_LoadMD3(model_t * mod, int lod, void *buffer, int bufferSize, offset_st = offset_xyz + sizeof(vec3_t); offset_normal = offset_st + glRefConfig.packedTexcoordDataSize; offset_tangent = offset_normal + sizeof(int16_t) * 4; -#ifdef USE_VERT_TANGENT_SPACE stride_xyz = offset_tangent + sizeof(int16_t) * 4; -#else - stride_xyz = offset_normal + sizeof(int16_t) * 4; -#endif stride_st = stride_normal = stride_tangent = stride_xyz; dataSize = surf->numVerts * stride_xyz; @@ -736,11 +728,9 @@ static qboolean R_LoadMD3(model_t * mod, int lod, void *buffer, int bufferSize, memcpy(data + dataOfs, &v->normal, sizeof(int16_t) * 4); dataOfs += sizeof(int16_t) * 4; -#ifdef USE_VERT_TANGENT_SPACE // tangent memcpy(data + dataOfs, &v->tangent, sizeof(int16_t) * 4); dataOfs += sizeof(int16_t) * 4; -#endif } } else @@ -760,11 +750,9 @@ static qboolean R_LoadMD3(model_t * mod, int lod, void *buffer, int bufferSize, memcpy(data + dataOfs, &v->normal, sizeof(int16_t) * 4); dataOfs += sizeof(int16_t) * 4; -#ifdef USE_VERT_TANGENT_SPACE // tangent memcpy(data + dataOfs, &v->tangent, sizeof(int16_t) * 4); dataOfs += sizeof(int16_t) * 4; -#endif } } @@ -782,9 +770,7 @@ static qboolean R_LoadMD3(model_t * mod, int lod, void *buffer, int bufferSize, vaoSurf->vao->attribs[ATTR_INDEX_POSITION].enabled = 1; vaoSurf->vao->attribs[ATTR_INDEX_TEXCOORD].enabled = 1; vaoSurf->vao->attribs[ATTR_INDEX_NORMAL ].enabled = 1; -#ifdef USE_VERT_TANGENT_SPACE vaoSurf->vao->attribs[ATTR_INDEX_TANGENT ].enabled = 1; -#endif vaoSurf->vao->attribs[ATTR_INDEX_POSITION].count = 3; vaoSurf->vao->attribs[ATTR_INDEX_TEXCOORD].count = 2; diff --git a/code/renderergl2/tr_model_iqm.c b/code/renderergl2/tr_model_iqm.c index e30e7067..184d71b5 100644 --- a/code/renderergl2/tr_model_iqm.c +++ b/code/renderergl2/tr_model_iqm.c @@ -1025,9 +1025,7 @@ void RB_IQMSurfaceAnim( surfaceType_t *surface ) { vec4_t *outXYZ; int16_t *outNormal; -#ifdef USE_VERT_TANGENT_SPACE int16_t *outTangent; -#endif vec2_t (*outTexCoord)[2]; vec4_t *outColor; @@ -1043,9 +1041,7 @@ void RB_IQMSurfaceAnim( surfaceType_t *surface ) { outXYZ = &tess.xyz[tess.numVertexes]; outNormal = tess.normal[tess.numVertexes]; -#ifdef USE_VERT_TANGENT_SPACE outTangent = tess.tangent[tess.numVertexes]; -#endif outTexCoord = &tess.texCoords[tess.numVertexes]; outColor = &tess.vertexColors[tess.numVertexes]; @@ -1132,7 +1128,6 @@ void RB_IQMSurfaceAnim( surfaceType_t *surface ) { R_VaoPackNormal(outNormal, normal); -#ifdef USE_VERT_TANGENT_SPACE tangent[0] = DotProduct(&nrmMat[0], &data->tangents[4*vtx]); tangent[1] = DotProduct(&nrmMat[3], &data->tangents[4*vtx]); tangent[2] = DotProduct(&nrmMat[6], &data->tangents[4*vtx]); @@ -1140,7 +1135,6 @@ void RB_IQMSurfaceAnim( surfaceType_t *surface ) { R_VaoPackTangent(outTangent, tangent); outTangent+=4; -#endif } (*outColor)[0] = data->colors[4*vtx+0] / 255.0f; diff --git a/code/renderergl2/tr_shade.c b/code/renderergl2/tr_shade.c index 705f5d03..fd88191e 100644 --- a/code/renderergl2/tr_shade.c +++ b/code/renderergl2/tr_shade.c @@ -1024,9 +1024,7 @@ static unsigned int RB_CalcShaderVertexAttribs( shaderCommands_t *input ) if (vertexAttribs & ATTR_NORMAL) { vertexAttribs |= ATTR_NORMAL2; -#ifdef USE_VERT_TANGENT_SPACE vertexAttribs |= ATTR_TANGENT2; -#endif } } diff --git a/code/renderergl2/tr_shader.c b/code/renderergl2/tr_shader.c index 4da8a0bc..c0550767 100644 --- a/code/renderergl2/tr_shader.c +++ b/code/renderergl2/tr_shader.c @@ -2120,12 +2120,10 @@ static void ComputeVertexAttribs(void) { shader.vertexAttribs |= ATTR_NORMAL; -#ifdef USE_VERT_TANGENT_SPACE if ((pStage->glslShaderIndex & LIGHTDEF_LIGHTTYPE_MASK) && !(r_normalMapping->integer == 0 && r_specularMapping->integer == 0)) { shader.vertexAttribs |= ATTR_TANGENT; } -#endif switch (pStage->glslShaderIndex & LIGHTDEF_LIGHTTYPE_MASK) { diff --git a/code/renderergl2/tr_surface.c b/code/renderergl2/tr_surface.c index 082254b6..293dc34a 100644 --- a/code/renderergl2/tr_surface.c +++ b/code/renderergl2/tr_surface.c @@ -323,9 +323,7 @@ static void RB_SurfaceVertsAndIndexes( int numVerts, srfVert_t *verts, int numIn float *xyz, *texCoords, *lightCoords; int16_t *lightdir; int16_t *normal; -#ifdef USE_VERT_TANGENT_SPACE int16_t *tangent; -#endif glIndex_t *outIndex; float *color; @@ -356,7 +354,6 @@ static void RB_SurfaceVertsAndIndexes( int numVerts, srfVert_t *verts, int numIn VectorCopy4(dv->normal, normal); } -#ifdef USE_VERT_TANGENT_SPACE if ( tess.shader->vertexAttribs & ATTR_TANGENT ) { dv = verts; @@ -364,7 +361,6 @@ static void RB_SurfaceVertsAndIndexes( int numVerts, srfVert_t *verts, int numIn for ( i = 0 ; i < numVerts ; i++, dv++, tangent+=4 ) VectorCopy4(dv->tangent, tangent); } -#endif if ( tess.shader->vertexAttribs & ATTR_TEXCOORD ) { @@ -1013,9 +1009,7 @@ static void RB_SurfaceGrid( srfBspSurface_t *srf ) { float *xyz; float *texCoords, *lightCoords; int16_t *normal; -#ifdef USE_VERT_TANGENT_SPACE int16_t *tangent; -#endif float *color; int16_t *lightdir; srfVert_t *dv; @@ -1103,9 +1097,7 @@ static void RB_SurfaceGrid( srfBspSurface_t *srf ) { xyz = tess.xyz[numVertexes]; normal = tess.normal[numVertexes]; -#ifdef USE_VERT_TANGENT_SPACE tangent = tess.tangent[numVertexes]; -#endif texCoords = tess.texCoords[numVertexes][0]; lightCoords = tess.texCoords[numVertexes][1]; color = tess.vertexColors[numVertexes]; @@ -1129,13 +1121,12 @@ static void RB_SurfaceGrid( srfBspSurface_t *srf ) { normal += 4; } -#ifdef USE_VERT_TANGENT_SPACE if ( tess.shader->vertexAttribs & ATTR_TANGENT ) { VectorCopy4(dv->tangent, tangent); tangent += 4; } -#endif + if ( tess.shader->vertexAttribs & ATTR_TEXCOORD ) { VectorCopy2(dv->st, texCoords); diff --git a/code/renderergl2/tr_vbo.c b/code/renderergl2/tr_vbo.c index db3d8eba..4a2ddf89 100644 --- a/code/renderergl2/tr_vbo.c +++ b/code/renderergl2/tr_vbo.c @@ -248,9 +248,7 @@ vao_t *R_CreateVao2(const char *name, int numVertexes, srfVert_t *verts, int num // since these vertex attributes are never altered, interleave them vao->attribs[ATTR_INDEX_POSITION ].enabled = 1; vao->attribs[ATTR_INDEX_NORMAL ].enabled = 1; -#ifdef USE_VERT_TANGENT_SPACE vao->attribs[ATTR_INDEX_TANGENT ].enabled = 1; -#endif vao->attribs[ATTR_INDEX_TEXCOORD ].enabled = 1; vao->attribs[ATTR_INDEX_LIGHTCOORD ].enabled = 1; vao->attribs[ATTR_INDEX_COLOR ].enabled = 1; @@ -282,9 +280,7 @@ vao_t *R_CreateVao2(const char *name, int numVertexes, srfVert_t *verts, int num vao->attribs[ATTR_INDEX_POSITION ].offset = 0; dataSize = sizeof(verts[0].xyz); vao->attribs[ATTR_INDEX_NORMAL ].offset = dataSize; dataSize += sizeof(verts[0].normal); -#ifdef USE_VERT_TANGENT_SPACE vao->attribs[ATTR_INDEX_TANGENT ].offset = dataSize; dataSize += sizeof(verts[0].tangent); -#endif vao->attribs[ATTR_INDEX_TEXCOORD ].offset = dataSize; dataSize += glRefConfig.packedTexcoordDataSize; vao->attribs[ATTR_INDEX_LIGHTCOORD ].offset = dataSize; dataSize += glRefConfig.packedTexcoordDataSize; vao->attribs[ATTR_INDEX_COLOR ].offset = dataSize; dataSize += glRefConfig.packedColorDataSize; @@ -321,11 +317,9 @@ vao_t *R_CreateVao2(const char *name, int numVertexes, srfVert_t *verts, int num memcpy(data + dataOfs, &verts[i].normal, sizeof(verts[i].normal)); dataOfs += sizeof(verts[i].normal); -#ifdef USE_VERT_TANGENT_SPACE // tangent memcpy(data + dataOfs, &verts[i].tangent, sizeof(verts[i].tangent)); dataOfs += sizeof(verts[i].tangent); -#endif // texcoords dataOfs += R_VaoPackTexCoord(data + dataOfs, verts[i].st); @@ -469,9 +463,7 @@ void R_InitVaos(void) vertexesSize = sizeof(tess.xyz[0]); vertexesSize += sizeof(tess.normal[0]); -#ifdef USE_VERT_TANGENT_SPACE vertexesSize += sizeof(tess.tangent[0]); -#endif vertexesSize += sizeof(tess.vertexColors[0]); vertexesSize += sizeof(tess.texCoords[0][0]) * 2; vertexesSize += sizeof(tess.lightdir[0]); @@ -485,9 +477,7 @@ void R_InitVaos(void) tess.vao->attribs[ATTR_INDEX_POSITION ].enabled = 1; tess.vao->attribs[ATTR_INDEX_NORMAL ].enabled = 1; -#ifdef USE_VERT_TANGENT_SPACE tess.vao->attribs[ATTR_INDEX_TANGENT ].enabled = 1; -#endif tess.vao->attribs[ATTR_INDEX_TEXCOORD ].enabled = 1; tess.vao->attribs[ATTR_INDEX_LIGHTCOORD ].enabled = 1; tess.vao->attribs[ATTR_INDEX_COLOR ].enabled = 1; @@ -519,9 +509,7 @@ void R_InitVaos(void) tess.vao->attribs[ATTR_INDEX_POSITION ].offset = offset; offset += sizeof(tess.xyz[0]) * SHADER_MAX_VERTEXES; tess.vao->attribs[ATTR_INDEX_NORMAL ].offset = offset; offset += sizeof(tess.normal[0]) * SHADER_MAX_VERTEXES; -#ifdef USE_VERT_TANGENT_SPACE tess.vao->attribs[ATTR_INDEX_TANGENT ].offset = offset; offset += sizeof(tess.tangent[0]) * SHADER_MAX_VERTEXES; -#endif // these next two are actually interleaved tess.vao->attribs[ATTR_INDEX_TEXCOORD ].offset = offset; tess.vao->attribs[ATTR_INDEX_LIGHTCOORD ].offset = offset + sizeof(tess.texCoords[0][0]); @@ -532,9 +520,7 @@ void R_InitVaos(void) tess.vao->attribs[ATTR_INDEX_POSITION ].stride = sizeof(tess.xyz[0]); tess.vao->attribs[ATTR_INDEX_NORMAL ].stride = sizeof(tess.normal[0]); -#ifdef USE_VERT_TANGENT_SPACE tess.vao->attribs[ATTR_INDEX_TANGENT ].stride = sizeof(tess.tangent[0]); -#endif tess.vao->attribs[ATTR_INDEX_COLOR ].stride = sizeof(tess.vertexColors[0]); tess.vao->attribs[ATTR_INDEX_TEXCOORD ].stride = sizeof(tess.texCoords[0][0]) * 2; tess.vao->attribs[ATTR_INDEX_LIGHTCOORD ].stride = sizeof(tess.texCoords[0][0]) * 2; @@ -543,9 +529,7 @@ void R_InitVaos(void) tess.attribPointers[ATTR_INDEX_POSITION] = tess.xyz; tess.attribPointers[ATTR_INDEX_TEXCOORD] = tess.texCoords; tess.attribPointers[ATTR_INDEX_NORMAL] = tess.normal; -#ifdef USE_VERT_TANGENT_SPACE tess.attribPointers[ATTR_INDEX_TANGENT] = tess.tangent; -#endif tess.attribPointers[ATTR_INDEX_COLOR] = tess.vertexColors; tess.attribPointers[ATTR_INDEX_LIGHTDIRECTION] = tess.lightdir;