From 30b3c4673d7ddc67c7e5cf2eb00fdd5a2aee05d9 Mon Sep 17 00:00:00 2001 From: havoc Date: Tue, 1 Mar 2011 07:24:43 +0000 Subject: [PATCH] remove more r_shadow_particletrace code I missed in the last commit git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@10877 d7cf8633-e32d-0410-b094-e92efae38249 --- dpsoftrast.c | 18 ----- dpsoftrast.h | 1 - gl_backend.c | 214 ------------------------------------------------- gl_backend.h | 5 -- model_shared.h | 9 --- 5 files changed, 247 deletions(-) diff --git a/dpsoftrast.c b/dpsoftrast.c index 216d628c..9598c63f 100644 --- a/dpsoftrast.c +++ b/dpsoftrast.c @@ -4213,23 +4213,6 @@ void DPSOFTRAST_PixelShader_DeferredLightSource(DPSOFTRAST_State_Thread *thread, -void DPSOFTRAST_VertexShader_DeferredBounceLight(void) -{ - DPSOFTRAST_Array_TransformProject(DPSOFTRAST_ARRAY_POSITION, DPSOFTRAST_ARRAY_POSITION, dpsoftrast.uniform4f + 4*DPSOFTRAST_UNIFORM_ModelViewProjectionMatrixM1); -} - -void DPSOFTRAST_PixelShader_DeferredBounceLight(DPSOFTRAST_State_Thread *thread, const DPSOFTRAST_State_Triangle * RESTRICT triangle, const DPSOFTRAST_State_Span * RESTRICT span) -{ - // TODO: IMPLEMENT - float buffer_z[DPSOFTRAST_DRAW_MAXSPANLENGTH]; - unsigned char buffer_FragColorbgra8[DPSOFTRAST_DRAW_MAXSPANLENGTH*4]; - DPSOFTRAST_Draw_Span_Begin(thread, triangle, span, buffer_z); - memset(buffer_FragColorbgra8 + span->startx*4, 0, (span->endx - span->startx)*4); - DPSOFTRAST_Draw_Span_FinishBGRA8(thread, triangle, span, buffer_FragColorbgra8); -} - - - typedef struct DPSOFTRAST_ShaderModeInfo_s { int lodarrayindex; @@ -4258,7 +4241,6 @@ static const DPSOFTRAST_ShaderModeInfo DPSOFTRAST_ShaderModeTable[SHADERMODE_COU {2, DPSOFTRAST_VertexShader_ShowDepth, DPSOFTRAST_PixelShader_ShowDepth, {~0}}, {2, DPSOFTRAST_VertexShader_DeferredGeometry, DPSOFTRAST_PixelShader_DeferredGeometry, {~0}}, {2, DPSOFTRAST_VertexShader_DeferredLightSource, DPSOFTRAST_PixelShader_DeferredLightSource, {~0}}, - {2, DPSOFTRAST_VertexShader_DeferredBounceLight, DPSOFTRAST_PixelShader_DeferredBounceLight, {~0}} }; void DPSOFTRAST_Draw_ProcessSpans(DPSOFTRAST_State_Thread *thread) diff --git a/dpsoftrast.h b/dpsoftrast.h index 016d2111..d05ce2a4 100644 --- a/dpsoftrast.h +++ b/dpsoftrast.h @@ -157,7 +157,6 @@ typedef enum shadermode_e SHADERMODE_SHOWDEPTH, ///< (debugging) renders depth as color SHADERMODE_DEFERREDGEOMETRY, ///< (deferred) render material properties to screenspace geometry buffers SHADERMODE_DEFERREDLIGHTSOURCE, ///< (deferred) use directional pixel shading from light source (rtlight) on screenspace geometry buffers - SHADERMODE_DEFERREDBOUNCELIGHT, ///< (deferred) simple area light deferred particles using geometry buffers for Global Illumination purposes SHADERMODE_COUNT } shadermode_t; diff --git a/gl_backend.c b/gl_backend.c index 707fa28c..a9b01118 100644 --- a/gl_backend.c +++ b/gl_backend.c @@ -169,7 +169,6 @@ typedef struct gl_state_s r_meshbuffer_t *preparevertices_dynamicvertexbuffer; r_vertexgeneric_t *preparevertices_vertexgeneric; r_vertexmesh_t *preparevertices_vertexmesh; - r_vertexbouncelight_t *preparevertices_vertexbouncelight; int preparevertices_numvertices; r_meshbuffer_t *draw_dynamicindexbuffer; @@ -3738,18 +3737,9 @@ D3DVERTEXELEMENT9 r_vertexmesh_d3d9elements[] = D3DDECL_END() }; -D3DVERTEXELEMENT9 r_vertexbouncelight_d3d9elements[] = -{ - {0, (int)((size_t)&((r_vertexbouncelight_t *)0)->vertex3f ), D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0}, - {0, (int)((size_t)&((r_vertexbouncelight_t *)0)->color4ub ), D3DDECLTYPE_D3DCOLOR, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_COLOR, 0}, - {0, (int)((size_t)&((r_vertexbouncelight_t *)0)->texcoord4f ), D3DDECLTYPE_FLOAT4, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 0}, - D3DDECL_END() -}; - IDirect3DVertexDeclaration9 *r_vertex3f_d3d9decl; IDirect3DVertexDeclaration9 *r_vertexgeneric_d3d9decl; IDirect3DVertexDeclaration9 *r_vertexmesh_d3d9decl; -IDirect3DVertexDeclaration9 *r_vertexbouncelight_d3d9decl; #endif static void R_Mesh_InitVertexDeclarations(void) @@ -3758,7 +3748,6 @@ static void R_Mesh_InitVertexDeclarations(void) r_vertex3f_d3d9decl = NULL; r_vertexgeneric_d3d9decl = NULL; r_vertexmesh_d3d9decl = NULL; - r_vertexbouncelight_d3d9decl = NULL; switch(vid.renderpath) { case RENDERPATH_GL20: @@ -3770,7 +3759,6 @@ static void R_Mesh_InitVertexDeclarations(void) IDirect3DDevice9_CreateVertexDeclaration(vid_d3d9dev, r_vertex3f_d3d9elements, &r_vertex3f_d3d9decl); IDirect3DDevice9_CreateVertexDeclaration(vid_d3d9dev, r_vertexgeneric_d3d9elements, &r_vertexgeneric_d3d9decl); IDirect3DDevice9_CreateVertexDeclaration(vid_d3d9dev, r_vertexmesh_d3d9elements, &r_vertexmesh_d3d9decl); - IDirect3DDevice9_CreateVertexDeclaration(vid_d3d9dev, r_vertexbouncelight_d3d9elements, &r_vertexbouncelight_d3d9decl); break; case RENDERPATH_D3D10: Con_DPrintf("FIXME D3D10 %s:%i %s\n", __FILE__, __LINE__, __FUNCTION__); @@ -3796,9 +3784,6 @@ static void R_Mesh_DestroyVertexDeclarations(void) if (r_vertexmesh_d3d9decl) IDirect3DVertexDeclaration9_Release(r_vertexmesh_d3d9decl); r_vertexmesh_d3d9decl = NULL; - if (r_vertexbouncelight_d3d9decl) - IDirect3DVertexDeclaration9_Release(r_vertexbouncelight_d3d9decl); - r_vertexbouncelight_d3d9decl = NULL; #endif } @@ -4308,202 +4293,3 @@ void R_Mesh_PrepareVertices_Mesh(int numvertices, const r_vertexmesh_t *vertex, break; } } - - - -r_vertexbouncelight_t *R_Mesh_PrepareVertices_BounceLight_Lock(int numvertices) -{ - size_t size; - size = sizeof(r_vertexbouncelight_t) * numvertices; - if (gl_state.preparevertices_tempdatamaxsize < size) - { - gl_state.preparevertices_tempdatamaxsize = size; - gl_state.preparevertices_tempdata = Mem_Realloc(r_main_mempool, gl_state.preparevertices_tempdata, gl_state.preparevertices_tempdatamaxsize); - } - gl_state.preparevertices_vertexbouncelight = (r_vertexbouncelight_t *)gl_state.preparevertices_tempdata; - gl_state.preparevertices_numvertices = numvertices; - return gl_state.preparevertices_vertexbouncelight; -} - -qboolean R_Mesh_PrepareVertices_BounceLight_Unlock(void) -{ - R_Mesh_PrepareVertices_BounceLight(gl_state.preparevertices_numvertices, gl_state.preparevertices_vertexbouncelight, NULL); - gl_state.preparevertices_vertexbouncelight = NULL; - gl_state.preparevertices_numvertices = 0; - return true; -} - -void R_Mesh_PrepareVertices_BounceLight_Arrays(int numvertices, const float *vertex3f, const float *color4f, const float *texcoord4f) -{ - int i; - r_vertexbouncelight_t *vertex; - switch(vid.renderpath) - { - case RENDERPATH_GL20: - case RENDERPATH_GLES2: - if (!vid.useinterleavedarrays) - { - R_Mesh_VertexPointer(3, GL_FLOAT, sizeof(float[3]), vertex3f, NULL, 0); - R_Mesh_ColorPointer(4, GL_FLOAT, sizeof(float[4]), color4f, NULL, 0); - R_Mesh_TexCoordPointer(0, 4, GL_FLOAT, sizeof(float[4]), texcoord4f, NULL, 0); - R_Mesh_TexCoordPointer(1, 2, GL_FLOAT, sizeof(float[2]), NULL, NULL, 0); - R_Mesh_TexCoordPointer(2, 2, GL_FLOAT, sizeof(float[2]), NULL, NULL, 0); - R_Mesh_TexCoordPointer(3, 2, GL_FLOAT, sizeof(float[2]), NULL, NULL, 0); - R_Mesh_TexCoordPointer(4, 2, GL_FLOAT, sizeof(float[2]), NULL, NULL, 0); - return; - } - break; - case RENDERPATH_GL13: - case RENDERPATH_GL11: - if (!vid.useinterleavedarrays) - { - R_Mesh_VertexPointer(3, GL_FLOAT, sizeof(float[3]), vertex3f, NULL, 0); - R_Mesh_ColorPointer(4, GL_FLOAT, sizeof(float[4]), color4f, NULL, 0); - R_Mesh_TexCoordPointer(0, 4, GL_FLOAT, sizeof(float[4]), texcoord4f, NULL, 0); - if (vid.texunits >= 2) - R_Mesh_TexCoordPointer(1, 2, GL_FLOAT, sizeof(float[2]), NULL, NULL, 0); - if (vid.texunits >= 3) - R_Mesh_TexCoordPointer(2, 2, GL_FLOAT, sizeof(float[2]), NULL, NULL, 0); - return; - } - break; - case RENDERPATH_D3D9: - case RENDERPATH_D3D10: - case RENDERPATH_D3D11: - break; - case RENDERPATH_SOFT: - DPSOFTRAST_SetVertexPointer(vertex3f, sizeof(float[3])); - DPSOFTRAST_SetColorPointer(color4f, sizeof(float[4])); - DPSOFTRAST_SetTexCoordPointer(0, 4, sizeof(float[4]), texcoord4f); - DPSOFTRAST_SetTexCoordPointer(1, 2, sizeof(float[2]), NULL); - DPSOFTRAST_SetTexCoordPointer(2, 2, sizeof(float[2]), NULL); - DPSOFTRAST_SetTexCoordPointer(3, 2, sizeof(float[2]), NULL); - DPSOFTRAST_SetTexCoordPointer(4, 2, sizeof(float[2]), NULL); - return; - } - - // no quick path for this case, convert to vertex structs - vertex = R_Mesh_PrepareVertices_BounceLight_Lock(numvertices); - for (i = 0;i < numvertices;i++) - VectorCopy(vertex3f + 3*i, vertex[i].vertex3f); - if (color4f) - { - for (i = 0;i < numvertices;i++) - Vector4Scale(color4f + 4*i, 255.0f, vertex[i].color4ub); - } - else - { - float tempcolor4f[4]; - unsigned char tempcolor4ub[4]; - Vector4Scale(gl_state.color4f, 255.0f, tempcolor4f); - tempcolor4ub[0] = (unsigned char)bound(0.0f, tempcolor4f[0], 255.0f); - tempcolor4ub[1] = (unsigned char)bound(0.0f, tempcolor4f[1], 255.0f); - tempcolor4ub[2] = (unsigned char)bound(0.0f, tempcolor4f[2], 255.0f); - tempcolor4ub[3] = (unsigned char)bound(0.0f, tempcolor4f[3], 255.0f); - for (i = 0;i < numvertices;i++) - Vector4Copy(tempcolor4ub, vertex[i].color4ub); - } - if (texcoord4f) - for (i = 0;i < numvertices;i++) - Vector4Copy(texcoord4f + 4*i, vertex[i].texcoord4f); - R_Mesh_PrepareVertices_BounceLight_Unlock(); - R_Mesh_PrepareVertices_BounceLight(numvertices, vertex, NULL); -} - -void R_Mesh_PrepareVertices_BounceLight(int numvertices, const r_vertexbouncelight_t *vertex, const r_meshbuffer_t *vertexbuffer) -{ - // upload temporary vertexbuffer for this rendering - if (!gl_state.usevbo_staticvertex) - vertexbuffer = NULL; - if (!vertexbuffer && gl_state.usevbo_dynamicvertex) - { - if (gl_state.preparevertices_dynamicvertexbuffer) - R_Mesh_UpdateMeshBuffer(gl_state.preparevertices_dynamicvertexbuffer, vertex, numvertices * sizeof(*vertex)); - else - gl_state.preparevertices_dynamicvertexbuffer = R_Mesh_CreateMeshBuffer(vertex, numvertices * sizeof(*vertex), "temporary", false, true, false); - vertexbuffer = gl_state.preparevertices_dynamicvertexbuffer; - } - switch(vid.renderpath) - { - case RENDERPATH_GL20: - case RENDERPATH_GLES2: - if (vertexbuffer) - { - R_Mesh_VertexPointer( 3, GL_FLOAT , sizeof(*vertex), vertex->vertex3f , vertexbuffer, (int)((unsigned char *)vertex->vertex3f - (unsigned char *)vertex)); - R_Mesh_ColorPointer( 4, GL_UNSIGNED_BYTE, sizeof(*vertex), vertex->color4ub , vertexbuffer, (int)((unsigned char *)vertex->color4ub - (unsigned char *)vertex)); - R_Mesh_TexCoordPointer(0, 4, GL_FLOAT , sizeof(*vertex), vertex->texcoord4f , vertexbuffer, (int)((unsigned char *)vertex->texcoord4f - (unsigned char *)vertex)); - R_Mesh_TexCoordPointer(1, 2, GL_FLOAT, sizeof(float[2]), NULL, NULL, 0); - R_Mesh_TexCoordPointer(2, 2, GL_FLOAT, sizeof(float[2]), NULL, NULL, 0); - R_Mesh_TexCoordPointer(3, 2, GL_FLOAT, sizeof(float[2]), NULL, NULL, 0); - R_Mesh_TexCoordPointer(4, 2, GL_FLOAT, sizeof(float[2]), NULL, NULL, 0); - } - else - { - R_Mesh_VertexPointer( 3, GL_FLOAT , sizeof(*vertex), vertex->vertex3f , NULL, 0); - R_Mesh_ColorPointer( 4, GL_UNSIGNED_BYTE, sizeof(*vertex), vertex->color4ub , NULL, 0); - R_Mesh_TexCoordPointer(0, 4, GL_FLOAT , sizeof(*vertex), vertex->texcoord4f , NULL, 0); - R_Mesh_TexCoordPointer(1, 2, GL_FLOAT, sizeof(float[2]), NULL, NULL, 0); - R_Mesh_TexCoordPointer(2, 2, GL_FLOAT, sizeof(float[2]), NULL, NULL, 0); - R_Mesh_TexCoordPointer(3, 2, GL_FLOAT, sizeof(float[2]), NULL, NULL, 0); - R_Mesh_TexCoordPointer(4, 2, GL_FLOAT, sizeof(float[2]), NULL, NULL, 0); - } - break; - case RENDERPATH_GL13: - if (vertexbuffer) - { - R_Mesh_VertexPointer( 3, GL_FLOAT , sizeof(*vertex), vertex->vertex3f , vertexbuffer, (int)((unsigned char *)vertex->vertex3f - (unsigned char *)vertex)); - R_Mesh_ColorPointer( 4, GL_UNSIGNED_BYTE, sizeof(*vertex), vertex->color4ub , vertexbuffer, (int)((unsigned char *)vertex->color4ub - (unsigned char *)vertex)); - R_Mesh_TexCoordPointer(0, 4, GL_FLOAT , sizeof(*vertex), vertex->texcoord4f , vertexbuffer, (int)((unsigned char *)vertex->texcoord4f - (unsigned char *)vertex)); - R_Mesh_TexCoordPointer(1, 2, GL_FLOAT, sizeof(float[2]), NULL, NULL, 0); - } - else - { - R_Mesh_VertexPointer( 3, GL_FLOAT , sizeof(*vertex), vertex->vertex3f , NULL, 0); - R_Mesh_ColorPointer( 4, GL_UNSIGNED_BYTE, sizeof(*vertex), vertex->color4ub , NULL, 0); - R_Mesh_TexCoordPointer(0, 4, GL_FLOAT , sizeof(*vertex), vertex->texcoord4f , NULL, 0); - R_Mesh_TexCoordPointer(1, 2, GL_FLOAT, sizeof(float[2]), NULL, NULL, 0); - } - break; - case RENDERPATH_GL11: - if (vertexbuffer) - { - R_Mesh_VertexPointer( 3, GL_FLOAT , sizeof(*vertex), vertex->vertex3f , vertexbuffer, (int)((unsigned char *)vertex->vertex3f - (unsigned char *)vertex)); - R_Mesh_ColorPointer( 4, GL_UNSIGNED_BYTE, sizeof(*vertex), vertex->color4ub , vertexbuffer, (int)((unsigned char *)vertex->color4ub - (unsigned char *)vertex)); - R_Mesh_TexCoordPointer(0, 4, GL_FLOAT , sizeof(*vertex), vertex->texcoord4f , vertexbuffer, (int)((unsigned char *)vertex->texcoord4f - (unsigned char *)vertex)); - } - else - { - R_Mesh_VertexPointer( 3, GL_FLOAT , sizeof(*vertex), vertex->vertex3f , NULL, 0); - R_Mesh_ColorPointer( 4, GL_UNSIGNED_BYTE, sizeof(*vertex), vertex->color4ub , NULL, 0); - R_Mesh_TexCoordPointer(0, 4, GL_FLOAT , sizeof(*vertex), vertex->texcoord4f , NULL, 0); - } - break; - case RENDERPATH_D3D9: -#ifdef SUPPORTD3D - IDirect3DDevice9_SetVertexDeclaration(vid_d3d9dev, r_vertexbouncelight_d3d9decl); - if (vertexbuffer) - IDirect3DDevice9_SetStreamSource(vid_d3d9dev, 0, (IDirect3DVertexBuffer9*)vertexbuffer->devicebuffer, 0, sizeof(*vertex)); - else - IDirect3DDevice9_SetStreamSource(vid_d3d9dev, 0, NULL, 0, 0); - gl_state.d3dvertexbuffer = (void *)vertexbuffer; - gl_state.d3dvertexdata = (void *)vertex; - gl_state.d3dvertexsize = sizeof(*vertex); -#endif - break; - case RENDERPATH_D3D10: - Con_DPrintf("FIXME D3D10 %s:%i %s\n", __FILE__, __LINE__, __FUNCTION__); - break; - case RENDERPATH_D3D11: - Con_DPrintf("FIXME D3D11 %s:%i %s\n", __FILE__, __LINE__, __FUNCTION__); - break; - case RENDERPATH_SOFT: - DPSOFTRAST_SetVertexPointer(vertex->vertex3f, sizeof(*vertex)); - DPSOFTRAST_SetColorPointer4ub(vertex->color4ub, sizeof(*vertex)); - DPSOFTRAST_SetTexCoordPointer(0, 4, sizeof(*vertex), vertex->texcoord4f); - DPSOFTRAST_SetTexCoordPointer(1, 2, sizeof(*vertex), NULL); - DPSOFTRAST_SetTexCoordPointer(2, 2, sizeof(*vertex), NULL); - DPSOFTRAST_SetTexCoordPointer(3, 2, sizeof(*vertex), NULL); - DPSOFTRAST_SetTexCoordPointer(4, 2, sizeof(*vertex), NULL); - break; - } -} diff --git a/gl_backend.h b/gl_backend.h index 76ff5ba3..fb634492 100644 --- a/gl_backend.h +++ b/gl_backend.h @@ -87,11 +87,6 @@ qboolean R_Mesh_PrepareVertices_Mesh_Unlock(void); // if this returns false, you void R_Mesh_PrepareVertices_Mesh_Arrays(int numvertices, const float *vertex3f, const float *svector3f, const float *tvector3f, const float *normal3f, const float *color4f, const float *texcoordtexture2f, const float *texcoordlightmap2f); void R_Mesh_PrepareVertices_Mesh(int numvertices, const r_vertexmesh_t *vertex, const r_meshbuffer_t *buffer); -r_vertexbouncelight_t *R_Mesh_PrepareVertices_BounceLight_Lock(int numvertices); -qboolean R_Mesh_PrepareVertices_BounceLight_Unlock(void); -void R_Mesh_PrepareVertices_BounceLight_Arrays(int numvertices, const float *vertex3f, const float *color4f, const float *texcoord4f); -void R_Mesh_PrepareVertices_BounceLight(int numvertices, const r_vertexbouncelight_t *vertex, const r_meshbuffer_t *vertexbuffer); - // sets up the requested vertex transform matrix void R_EntityMatrix(const matrix4x4_t *matrix); // sets the vertex array pointer diff --git a/model_shared.h b/model_shared.h index 9950b0fe..3247d0f9 100644 --- a/model_shared.h +++ b/model_shared.h @@ -123,15 +123,6 @@ typedef struct r_vertexmesh_s } r_vertexmesh_t; -typedef struct r_vertexbouncelight_s -{ - // 32 bytes - float vertex3f[3]; - unsigned char color4ub[4]; - float texcoord4f[4]; -} -r_vertexbouncelight_t; - typedef struct r_meshbuffer_s { int bufferobject; // OpenGL -- 2.39.2