View Issue Details

IDProjectCategoryView StatusLast Update
0005144The Dark ModGraphicspublic09.02.2020 11:47
Reporterstgatilov Assigned Tostgatilov  
PriorityhighSeveritynormalReproducibilityalways
Status resolvedResolutionfixed 
Product VersionSVN 
Target VersionTDM 2.08Fixed in VersionTDM 2.08 
Summary0005144: Fix render tools on GL Core profile
DescriptionWhile the game itself runs well on Core profile now, all the debug stuff does not.
This includes text entity, various debug boxes/lines from the game, and horde of renderer cvars which show something.
Additional InformationDiscussion on internal forums:
  https://forums.thedarkmod.com/index.php?/topic/20248-immediate-rendering-with-gl-core-context/
TagsNo tags attached.

Relationships

related to 0005143 resolvedduzenko Allow to run TDM on GL3 core profile 

Activities

stgatilov

stgatilov

09.02.2020 11:46

administrator   ~0012186

Last edited: 09.02.2020 11:47

Implemented ImmediateRendering helper class, which emulates old-style calls when :
  r8567 Added helper for drawing like in immediate mode with GL core profile.
  r8569 ImmediateRendering: support 2D texcoord, store color as 8-bit.
  r8574 Fixed bug in ImmediateRendering::glColor4ub (broke r_showVertexColor).
  r8576 Now ImmediateRendering can transfer vertex data to VBO in chunks.

It collects geometrical data inside, and sometimes draws all of it by creating a temporary VBO and uploading the data to it.
If r_immediateRenderingEmulate is 0, then emulation is disabled and deprecated GL calls are done directly.
Note that you cannot set it to 0 if Core profile is active.

This list of commits changes render tools to use the new helper class.
  r8566 Moved RB_ShowTrace and RB_DrawExpandedTriangles to tr_rendertools.cpp.
  r8568 Fixed a bunch of debug tools using ImmediateRendering.
  r8571 Fixed r_showLightCount and r_showShadowCount.
  r8572 testImage and testVideo commands work.
  r8576 Now ImmediateRendering can transfer vertex data to VBO in chunks.

The final commit is:
  r8577 Do not try to run the still-broken render tools on Core profile.
Here is the list of stuff which I did not manage to fix:
        //stgatilov: this one uses qglArrayElement to fetch vertices from VBO
        RB_ShowSilhouette();
        //stgatilov: these ones use qglDrawPixels to display FBO contents
        RB_ShowDepthBuffer();
        RB_ShowIntensity();
        RB_TestGamma();
        RB_TestGammaBias();

Issue History

Date Modified Username Field Change
06.02.2020 15:40 stgatilov New Issue
06.02.2020 15:40 stgatilov Status new => assigned
06.02.2020 15:40 stgatilov Assigned To => stgatilov
06.02.2020 15:41 stgatilov Relationship added related to 0005143
07.02.2020 03:58 stgatilov Additional Information Updated
09.02.2020 11:46 stgatilov Note Added: 0012186
09.02.2020 11:47 stgatilov Note Edited: 0012186
09.02.2020 11:47 stgatilov Status assigned => resolved
09.02.2020 11:47 stgatilov Resolution open => fixed
09.02.2020 11:47 stgatilov Fixed in Version => TDM 2.08