View Issue Details

IDProjectCategoryView StatusLast Update
0005909DarkRadiantRendererpublic09.10.2022 17:37
Reportergreebo Assigned Togreebo  
PrioritynormalSeveritynormalReproducibilityhave not tried
Status closedResolutionfixed 
Product Version3.0.0 
Fixed in Version3.0.0 
Summary0005909: Revisit Interaction Shader to get closer to the TDM looks
DescriptionThe normal maps have too much emphasis on the rendered output (lighting mode), compared to what the TDM engine is producing.
TagsNo tags attached.

Activities

greebo

greebo

01.03.2022 12:41

administrator   ~0014749

dr.jpg (127,097 bytes)   
dr.jpg (127,097 bytes)   
tdm.jpg (190,146 bytes)   
tdm.jpg (190,146 bytes)   

Related Changesets

DarkRadiant: master d14ece81

13.03.2022 05:42

greebo


Details Diff
0005909: Use in position attribute instead of gl_Vertex Affected Issues
0005909
mod - install/gl/zfill_alpha_fp.glsl Diff File
mod - install/gl/zfill_vp.glsl Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLDepthFillAlphaProgram.cpp Diff File

DarkRadiant: master 509ed871

13.03.2022 06:26

greebo


Details Diff
0005909: Load the top half of the diffuse texture transformation matrix right into the GLSL program, as two vec4 uniforms Affected Issues
0005909
mod - install/gl/zfill_alpha_fp.glsl Diff File
mod - install/gl/zfill_vp.glsl Diff File
mod - radiantcore/rendersystem/backend/LightInteractions.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLDepthFillAlphaProgram.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLDepthFillAlphaProgram.h Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLProgramBase.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLProgramBase.h Diff File

DarkRadiant: master b7d604fd

13.03.2022 06:29

greebo


Details Diff
0005909: Remove gl_FrontColor output from z-fill vertex program Affected Issues
0005909
mod - install/gl/zfill_vp.glsl Diff File

DarkRadiant: master 95021ea9

13.03.2022 06:54

greebo


Details Diff
0005909: Replace gl_ModelViewProjectionMatrix with a custom uniform set by the code. This allows us to update the GLSL version to 140. Affected Issues
0005909
mod - install/gl/zfill_vp.glsl Diff File
mod - radiantcore/rendersystem/backend/LightInteractions.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLDepthFillAlphaProgram.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLDepthFillAlphaProgram.h Diff File

DarkRadiant: master 555c3b35

13.03.2022 07:12

greebo


Details Diff
0005909: Remove unused parameters from shader pass methods Affected Issues
0005909
mod - radiantcore/rendersystem/backend/FullBrightRenderer.cpp Diff File
mod - radiantcore/rendersystem/backend/LightInteractions.cpp Diff File
mod - radiantcore/rendersystem/backend/LightingModeRenderer.cpp Diff File
mod - radiantcore/rendersystem/backend/OpenGLShaderPass.cpp Diff File
mod - radiantcore/rendersystem/backend/OpenGLShaderPass.h Diff File

DarkRadiant: master ac47e37f

13.03.2022 07:34

greebo


Details Diff
0005909: Separate time-dependent stage evaluation and state application routines Affected Issues
0005909
mod - radiantcore/rendersystem/backend/LightInteractions.cpp Diff File
mod - radiantcore/rendersystem/backend/LightingModeRenderer.cpp Diff File
mod - radiantcore/rendersystem/backend/OpenGLShaderPass.cpp Diff File
mod - radiantcore/rendersystem/backend/OpenGLShaderPass.h Diff File

DarkRadiant: master 9333b5b6

13.03.2022 07:47

greebo


Details Diff
0005909: Move OpenGLState type to rendersystem backend, it's not a public interface and only used internally by the renderer. Affected Issues
0005909
mod - include/precompiled_render_interfaces.h Diff File
mod - radiantcore/rendersystem/backend/GLProgramFactory.h Diff File
mod - radiantcore/rendersystem/backend/LightInteractions.h Diff File
mod - radiantcore/rendersystem/backend/LightingModeRenderer.cpp Diff File
mod - radiantcore/rendersystem/backend/OpenGLShaderPass.h Diff File
mod - radiantcore/rendersystem/backend/OpenGLStateLess.h Diff File
mod - radiantcore/rendersystem/backend/SceneRenderer.cpp Diff File
mod - radiantcore/rendersystem/backend/SceneRenderer.h Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj.filters Diff File

DarkRadiant: master 009ac16c

13.03.2022 08:21

greebo


Details Diff
0005909: Move tons of GL state management code from shader pass to OpenGLState awaiting further refactoring. Affected Issues
0005909
mod - radiantcore/rendersystem/backend/DepthFillPass.cpp Diff File
mod - radiantcore/rendersystem/backend/DepthFillPass.h Diff File
mod - radiantcore/rendersystem/backend/OpenGLShaderPass.cpp Diff File
mod - radiantcore/rendersystem/backend/OpenGLShaderPass.h Diff File
mod - radiantcore/rendersystem/backend/OpenGLState.h Diff File

DarkRadiant: master eb0a8eaf

13.03.2022 08:24

greebo


Details Diff
0005909: Remove check for openGL 1.3. Remove unneeded non-const references. Affected Issues
0005909
mod - radiantcore/rendersystem/backend/OpenGLState.h Diff File

DarkRadiant: master 0ac026f4

13.03.2022 08:30

greebo


Details Diff
0005909: Remove tons of unused and duplicated code Affected Issues
0005909
mod - radiantcore/rendersystem/backend/OpenGLShaderPass.cpp Diff File
mod - radiantcore/rendersystem/backend/OpenGLShaderPass.h Diff File
mod - radiantcore/rendersystem/backend/OpenGLState.h Diff File

DarkRadiant: master c5680da2

13.03.2022 08:44

greebo


Details Diff
0005909: Move non-interaction pass to member method Affected Issues
0005909
mod - radiantcore/rendersystem/backend/LightingModeRenderer.cpp Diff File
mod - radiantcore/rendersystem/backend/LightingModeRenderer.h Diff File

DarkRadiant: master 05bcddd5

13.03.2022 08:50

greebo


Details Diff
0005909: Separate state application and renderable submission Affected Issues
0005909
mod - radiantcore/rendersystem/backend/FullBrightRenderer.cpp Diff File
mod - radiantcore/rendersystem/backend/OpenGLShaderPass.cpp Diff File
mod - radiantcore/rendersystem/backend/OpenGLShaderPass.h Diff File

DarkRadiant: master 9a07cf21

13.03.2022 09:05

greebo


Details Diff
0005909: Set the alpha test value as evaluated in the material's shader stage. Remove texture matrix code. Affected Issues
0005909
mod - radiantcore/rendersystem/backend/DepthFillPass.cpp Diff File
mod - radiantcore/rendersystem/backend/DepthFillPass.h Diff File
mod - radiantcore/rendersystem/backend/LightInteractions.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLDepthFillAlphaProgram.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLDepthFillAlphaProgram.h Diff File

DarkRadiant: master bb5438a2

13.03.2022 13:48

greebo


Details Diff
0005909: Streamline the depth fill state changes. Since every depth fill pass has the same set of required flags, we might as well do it before iterating over all the renderable objects. Use the same GLSL program instance throughout the whole pass, just set the moving parts like texture, transform and alpha test. Affected Issues
0005909
mod - radiantcore/rendersystem/OpenGLRenderSystem.cpp Diff File
mod - radiantcore/rendersystem/backend/DepthFillPass.cpp Diff File
mod - radiantcore/rendersystem/backend/DepthFillPass.h Diff File
mod - radiantcore/rendersystem/backend/LightInteractions.cpp Diff File
mod - radiantcore/rendersystem/backend/LightInteractions.h Diff File
mod - radiantcore/rendersystem/backend/LightingModeRenderer.cpp Diff File
mod - radiantcore/rendersystem/backend/LightingModeRenderer.h Diff File

DarkRadiant: master 556f5277

13.03.2022 16:34

greebo


Details Diff
0005909: Prepare the light interaction pass to operate on a single program reference, like the interaction state is doing Affected Issues
0005909
mod - radiantcore/rendersystem/backend/InteractionPass.cpp Diff File
mod - radiantcore/rendersystem/backend/InteractionPass.h Diff File
mod - radiantcore/rendersystem/backend/LightInteractions.cpp Diff File
mod - radiantcore/rendersystem/backend/LightInteractions.h Diff File
mod - radiantcore/rendersystem/backend/LightingModeRenderer.cpp Diff File

DarkRadiant: master 76f22c3a

13.03.2022 16:51

greebo


Details Diff
0005909: Load the model view projection matrix into the GLSL uniform Affected Issues
0005909
mod - install/gl/interaction_vp.glsl Diff File
mod - radiantcore/rendersystem/backend/LightInteractions.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLBumpProgram.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLBumpProgram.h Diff File

DarkRadiant: master f512bbb3

13.03.2022 17:07

greebo


Details Diff
0005909: One step towards replacing the texture matrices with uniforms Affected Issues
0005909
mod - install/gl/interaction_fp.glsl Diff File
mod - install/gl/interaction_vp.glsl Diff File
mod - radiantcore/rendersystem/backend/InteractionPass.h Diff File
mod - radiantcore/rendersystem/backend/LightInteractions.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLBumpProgram.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLBumpProgram.h Diff File

DarkRadiant: master 4199e472

13.03.2022 17:44

greebo


Details Diff
0005909: Migrate bump and specular texture matrices to uniforms Affected Issues
0005909
mod - install/gl/interaction_fp.glsl Diff File
mod - install/gl/interaction_vp.glsl Diff File
mod - radiantcore/rendersystem/backend/InteractionPass.h Diff File
mod - radiantcore/rendersystem/backend/LightInteractions.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLBumpProgram.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLBumpProgram.h Diff File

DarkRadiant: master 88615afd

13.03.2022 19:54

greebo


Details Diff
0005909: Reduce the GL state handling code to the minimum for interaction stages Affected Issues
0005909
mod - radiantcore/rendersystem/backend/LightInteractions.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLBumpProgram.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLBumpProgram.h Diff File

DarkRadiant: master 7535c43b

18.03.2022 04:17

greebo


Details Diff
0005909: WIP commit, distributing the GLSL program setup in interaction passes. Separate the setup code that is specific to the light only from the code that is depending to the rendered object. Affected Issues
0005909
mod - include/iglprogram.h Diff File
mod - radiantcore/rendersystem/backend/LightInteractions.cpp Diff File
mod - radiantcore/rendersystem/backend/OpenGLShaderPass.cpp Diff File
mod - radiantcore/rendersystem/backend/OpenGLShaderPass.h Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLBumpProgram.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLBumpProgram.h Diff File

DarkRadiant: master 2df6b653

18.03.2022 04:33

greebo


Details Diff
0005909: Lighting set up code moved to GLSLBumpProgram. Affected Issues
0005909
mod - radiantcore/rendersystem/backend/LightInteractions.cpp Diff File
mod - radiantcore/rendersystem/backend/OpenGLShaderPass.cpp Diff File
mod - radiantcore/rendersystem/backend/OpenGLShaderPass.h Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLBumpProgram.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLBumpProgram.h Diff File

DarkRadiant: master 16a90d39

18.03.2022 04:43

greebo


Details Diff
0005909: More lighting set up code moved to GLSLBumpProgram. Affected Issues
0005909
mod - radiantcore/rendersystem/backend/LightInteractions.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLBumpProgram.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLBumpProgram.h Diff File

DarkRadiant: master e3cc69df

18.03.2022 05:26

greebo


Details Diff
0005909: Light texture matrix is loaded into the GLSL program instead of setting it through glMatrixMode Affected Issues
0005909
mod - install/gl/interaction_vp.glsl Diff File
mod - radiantcore/rendersystem/backend/LightInteractions.cpp Diff File
mod - radiantcore/rendersystem/backend/LightInteractions.h Diff File
mod - radiantcore/rendersystem/backend/LightingModeRenderer.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLBumpProgram.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLBumpProgram.h Diff File

DarkRadiant: master 305f81d1

18.03.2022 07:34

greebo


Details Diff
0005909: Depth fill pass only needs to check materials with alphatest stages, the rest can go ahead without changing the texture binding Affected Issues
0005909
mod - radiantcore/rendersystem/backend/LightInteractions.cpp Diff File
mod - radiantcore/shaders/ShaderTemplate.cpp Diff File

DarkRadiant: master 86a7e2ad

18.03.2022 07:48

greebo


Details Diff
0005909: Put non-alphatested surfaces without transformation matrix onto one huge pile to save drawcalls Affected Issues
0005909
mod - radiantcore/rendersystem/backend/LightInteractions.cpp Diff File

DarkRadiant: master d34ec8aa

18.03.2022 08:19

greebo


Details Diff
0005909: Accumulate non-alphatested surfaces without transformation matrix across all lights, to perform one large depth draw call Affected Issues
0005909
mod - radiantcore/rendersystem/backend/LightInteractions.cpp Diff File
mod - radiantcore/rendersystem/backend/LightInteractions.h Diff File
mod - radiantcore/rendersystem/backend/LightingModeRenderResult.h Diff File
mod - radiantcore/rendersystem/backend/LightingModeRenderer.cpp Diff File
mod - radiantcore/rendersystem/backend/LightingModeRenderer.h Diff File

DarkRadiant: master 07df96b4

18.03.2022 09:57

greebo


Details Diff
0005909: Light texture matrix can be stored in the GLSL uniforms per light, the object transform is already present there to perform the same math.
Save a few more calculations and uniform commands.
Affected Issues
0005909
mod - install/gl/interaction_vp.glsl Diff File
mod - radiantcore/rendersystem/backend/LightInteractions.cpp Diff File
mod - radiantcore/rendersystem/backend/LightingModeRenderer.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLBumpProgram.cpp Diff File
mod - radiantcore/rendersystem/backend/glprogram/GLSLBumpProgram.h Diff File

DarkRadiant: master 7e83da28

18.03.2022 10:53

greebo


Details Diff
0005909: Port the TDM interaction calculation into our own interaction program Affected Issues
0005909
mod - install/gl/interaction_fp.glsl Diff File

DarkRadiant: master cc2f9eea

18.03.2022 11:05

greebo


Details Diff
0005909: Fix alpha test Affected Issues
0005909
mod - install/gl/interaction_fp.glsl Diff File

DarkRadiant: master d92ccbd9

18.03.2022 11:15

greebo


Details Diff
0005909: Fix light colour and scale Affected Issues
0005909
mod - install/gl/interaction_fp.glsl Diff File

Issue History

Date Modified Username Field Change
01.03.2022 12:38 greebo New Issue
01.03.2022 12:41 greebo Note Added: 0014749
01.03.2022 12:41 greebo File Added: dr.jpg
01.03.2022 12:41 greebo File Added: tdm.jpg
01.03.2022 12:42 greebo Status new => confirmed
12.03.2022 17:50 greebo Summary Bump Maps are too strong compared to TDM => Revisit Interaction Shader to get closer to the TDM looks
13.03.2022 05:41 greebo Assigned To => greebo
13.03.2022 05:41 greebo Status confirmed => assigned
13.03.2022 08:30 greebo Changeset attached => DarkRadiant master d14ece81
13.03.2022 08:30 greebo Changeset attached => DarkRadiant master 509ed871
13.03.2022 08:30 greebo Changeset attached => DarkRadiant master b7d604fd
13.03.2022 08:30 greebo Changeset attached => DarkRadiant master 95021ea9
13.03.2022 08:30 greebo Changeset attached => DarkRadiant master 555c3b35
13.03.2022 08:30 greebo Changeset attached => DarkRadiant master ac47e37f
13.03.2022 08:30 greebo Changeset attached => DarkRadiant master 9333b5b6
13.03.2022 08:30 greebo Changeset attached => DarkRadiant master 009ac16c
13.03.2022 08:30 greebo Changeset attached => DarkRadiant master eb0a8eaf
13.03.2022 08:30 greebo Changeset attached => DarkRadiant master 0ac026f4
13.03.2022 09:05 greebo Changeset attached => DarkRadiant master c5680da2
13.03.2022 09:05 greebo Changeset attached => DarkRadiant master 05bcddd5
13.03.2022 09:05 greebo Changeset attached => DarkRadiant master 9a07cf21
13.03.2022 18:55 greebo Changeset attached => DarkRadiant master bb5438a2
13.03.2022 18:55 greebo Changeset attached => DarkRadiant master 556f5277
13.03.2022 18:55 greebo Changeset attached => DarkRadiant master 76f22c3a
13.03.2022 18:55 greebo Changeset attached => DarkRadiant master f512bbb3
13.03.2022 18:55 greebo Changeset attached => DarkRadiant master 4199e472
13.03.2022 19:55 greebo Changeset attached => DarkRadiant master 88615afd
18.03.2022 15:58 greebo Changeset attached => DarkRadiant master 7535c43b
18.03.2022 15:58 greebo Changeset attached => DarkRadiant master 2df6b653
18.03.2022 15:58 greebo Changeset attached => DarkRadiant master 16a90d39
18.03.2022 15:58 greebo Changeset attached => DarkRadiant master e3cc69df
18.03.2022 15:58 greebo Changeset attached => DarkRadiant master 305f81d1
18.03.2022 15:58 greebo Changeset attached => DarkRadiant master 86a7e2ad
18.03.2022 15:58 greebo Changeset attached => DarkRadiant master d34ec8aa
18.03.2022 15:58 greebo Changeset attached => DarkRadiant master 07df96b4
18.03.2022 15:58 greebo Changeset attached => DarkRadiant master 7e83da28
18.03.2022 15:58 greebo Changeset attached => DarkRadiant master cc2f9eea
18.03.2022 15:58 greebo Changeset attached => DarkRadiant master d92ccbd9
18.03.2022 16:22 greebo Status assigned => resolved
18.03.2022 16:22 greebo Resolution open => fixed
18.03.2022 16:22 greebo Fixed in Version => 3.0.0
09.10.2022 17:37 greebo Status resolved => closed