Jump to content

Daft Mugi

Member
  • Posts

    150
  • Joined

  • Last visited

Everything posted by Daft Mugi

  1. Yes, these are the very first frames. Same issue with "com_smp 0". Yes, r10199 currently.
  2. Screenshots from qapitrace, MSAA 2x. MSAA 2x In case it matters, the visible distortion is on frames 1 and 2 as the GL_BACK framebuffer. GL_DEPTH_COMPONENT and GL_STENCIL_INDEX framebuffers look distorted as well. Frame 1 is the first frame to have shaders, glprogs/tonemap.fs and glprogs/tonemap.vs. Frame 2 is the frame I notice on thedarkmod.x64 launch. Frames 0 and 3 GL_BACK framebuffers look ok, but their GL_DEPTH_COMPONENT and GL_STENCIL_INDEX framebuffers look distorted. MSAA off Frame 2 does not have a distorted GL_BACK framebuffer; its GL_DEPTH_COMPONENT and GL_STENCIL_INDEX framebuffers look distorted. Frame 1 GL_BACK framebuffer looks similar to frame 1 when MSAA 2x. (Screenshots MSAA 2x)
  3. This happens during game launch and not mission startup, if mission startup means entering the game world. This happens before the main menu is displayed for the first time. I've attached a series of screenshots. Does FBO code run before the main menu displays for the first time? I tried these settings and did not see any difference in console output. To me, it looks like that first frame is showing garbage memory - whatever happens to be in memory at the time. In other words, it seems that the "qglRenderbufferStorageMultisample()" function is not clearing/initializing the buffers before rendering. I'm not a graphics programmer, so I don't know. That's how it seems to me. Maybe an updated Glad library would have a fix? I tried running apitrace. Here's some output: apitrace: loaded into ./thedarkmod.x64 apitrace: redirecting dlopen("libGL.so.1", 0x1) from ./thedarkmod.x64 apitrace: tracing to application.trace apitrace: redirecting dlopen("libGL.so.1", 0x102) from ./thedarkmod.x64 apitrace: warning: unknown function "glRenderbufferStorageMultisampleAdvancedAMD" apitrace: warning: unknown function "glNamedRenderbufferStorageMultisampleAdvancedAMD" apitrace: warning: unknown function "glPolygonOffsetClamp" apitrace: warning: unknown function "glEGLImageTargetTexStorageEXT" apitrace: warning: unknown function "glEGLImageTargetTextureStorageEXT" apitrace: warning: unknown function "glGetUnsignedBytevEXT" apitrace: warning: unknown function "glGetUnsignedBytei_vEXT" apitrace: warning: unknown function "glDeleteMemoryObjectsEXT" apitrace: warning: unknown function "glIsMemoryObjectEXT" apitrace: warning: unknown function "glCreateMemoryObjectsEXT" apitrace: warning: unknown function "glMemoryObjectParameterivEXT" apitrace: warning: unknown function "glGetMemoryObjectParameterivEXT" apitrace: warning: unknown function "glTexStorageMem2DEXT" apitrace: warning: unknown function "glTexStorageMem2DMultisampleEXT" apitrace: warning: unknown function "glTexStorageMem3DEXT" apitrace: warning: unknown function "glTexStorageMem3DMultisampleEXT" apitrace: warning: unknown function "glBufferStorageMemEXT" apitrace: warning: unknown function "glTextureStorageMem2DEXT" apitrace: warning: unknown function "glTextureStorageMem2DMultisampleEXT" apitrace: warning: unknown function "glTextureStorageMem3DEXT" apitrace: warning: unknown function "glTextureStorageMem3DMultisampleEXT" apitrace: warning: unknown function "glNamedBufferStorageMemEXT" apitrace: warning: unknown function "glTexStorageMem1DEXT" apitrace: warning: unknown function "glTextureStorageMem1DEXT" apitrace: warning: unknown function "glImportMemoryFdEXT" apitrace: warning: unknown function "glGetUnsignedBytevEXT" apitrace: warning: unknown function "glGetUnsignedBytei_vEXT" apitrace: warning: unknown function "glGenSemaphoresEXT" apitrace: warning: unknown function "glDeleteSemaphoresEXT" apitrace: warning: unknown function "glIsSemaphoreEXT" apitrace: warning: unknown function "glSemaphoreParameterui64vEXT" apitrace: warning: unknown function "glGetSemaphoreParameterui64vEXT" apitrace: warning: unknown function "glWaitSemaphoreEXT" apitrace: warning: unknown function "glSignalSemaphoreEXT" apitrace: warning: unknown function "glImportSemaphoreFdEXT" apitrace: warning: unknown function "glWindowRectanglesEXT" apitrace: warning: unknown function "glMaxShaderCompilerThreadsKHR" apitrace: warning: unknown function "glAlphaToCoverageDitherControlNV"
  4. I narrowed down this issue to the following line when msaa is "2" or greater: // Line 226:renderer/FrameBuffer.cpp qglRenderbufferStorageMultisample(GL_RENDERBUFFER, msaa, format, width, height); In the function, "FrameBuffer::AddRenderBuffer()": 217 void FrameBuffer::AddRenderBuffer( GLuint &buffer, GLenum attachment, GLenum format, const idStr &name ) { 218 if (buffer != 0) { 219 qglDeleteRenderbuffers(1, &buffer); 220 } 221 qglGenRenderbuffers(1, &buffer); 222 qglBindRenderbuffer(GL_RENDERBUFFER, buffer); 223 GL_SetDebugLabel( GL_RENDERBUFFER, buffer, name ); 224 225 if (msaa > 1) { 226 qglRenderbufferStorageMultisample(GL_RENDERBUFFER, msaa, format, width, height); 227 } else { 228 qglRenderbufferStorage(GL_RENDERBUFFER, format, width, height); 229 } 230 231 Bind(); 232 qglFramebufferRenderbuffer(GL_FRAMEBUFFER, attachment, GL_RENDERBUFFER, buffer); 233 } As I stated in the first post, this issue is not present when "r_multiSamples 0". So, the following code path is fine: // Line 228:renderer/FrameBuffer.cpp qglRenderbufferStorage(GL_RENDERBUFFER, format, width, height); Also, if "qglRenderbufferStorageMultisample()" is called with msaa as "0", that is also fine. // Line 226:renderer/FrameBuffer.cpp qglRenderbufferStorageMultisample(GL_RENDERBUFFER, 0, format, width, height); I guess this is a bug in the Glad library. I found this by commenting out code related to "r_multiSamples" and narrowed it down. @duzenko @stgatilov What's a good next step?
  5. The attached screenshot is what I'm getting with 2.11, which looks like your 2.10 screenshot to me. Does the attached screenshot look right to you? If so, I wonder what is causing it not to look right for your setup. I'm using Linux with AMD GPU.
  6. This is fixed as of r10197, so it should work fine once beta 2 is released.
  7. I was actually going to post about this graphical glitch at some point. Sometimes a scene distorts for a moment, and I do tend to notice it happening towards the start of a map. Sure enough, when I notice it happen, there's a console log about the vertex cache resize. Hazard Pay had the following: Resizing dynamic VertexCache: index 8192 kb -> 8192 kb, vertex 8192 kb -> 16384 kb So, I've set the following for now as I test more: seta r_frameIndexMemory "8192" seta r_frameVertexMemory "16384" Is there a reason that "r_frameIndexMemory" and "r_frameVertexMemory" are not set higher than 4096 by default?
  8. Tested out r10198. Thank you for fixing screenshots!
  9. @datiswous Ah, well, I thought I might be answering the wrong question. I missed the 10190 written above.
  10. #10189 is the beta 1 release. #10190 and above are SVN code revisions. These are not released as downloadable builds, which means one would have to build the source code and have the corresponding assets to use a non-released revision. At some point, a new beta will be released with a chosen revision. The current SVN revision is #10197, so the next beta release will likely be greater than that. Edit: Welp, I missed "beta211-01 (rev 16656-10190)" mentioned above. Answered the wrong question.
  11. I found two objects with missing textures in 2.11 beta 1 (also, missing in earlier 2.11 dev asset versions). They look fine using 2.10 assets. Are these actually missing textures or another issue? Hazard Pay. Crumpled note. 2602.16 -275.42 -2215.75 40.6 67.4 0.0 Iris. Trash can. 363.84 1181.95 -381.25 27.4 -142.7 0.0 Is there a way to automate finding these? @AluminumHaste Using your getviewpos screenshot trick. Thanks!
  12. @stgatilov I found an issue with screenshots and r10197. I'm sorry to bother you with this yet again. Artifacts can show behind volumetric lights at the time of a screenshot. The attached screenshot is at Hazard Pay 3197.94 1807.48 337.08 9.5 36.6 0.0. Using stencil shadows, the top circle shows artifacts (from the gate?) and the bottom circle shows that the shadow changed (or at least became darker). Using shadow maps, the top circle artifacts are not present but the bottom circle shadow did change (stencil shadows use shadow maps here as well, so that makes sense). Note: The artifacts can be seen in game at the time of the screenshot, so looking at the resulting screenshot is not necessary.
  13. @Dragofer Could you please also include your script changes here? Because I don't have access to SVN asset revisions. I'm getting the following error message using SVN code builds now: ERROR:Missing 'AI_ENEMY_TACTILE' field in script object 'ai_darkmod_base'
  14. I worked on this today, but I haven't been able to track down the problem yet. I found that the previous message or info about the previous message is not cleared from memory completely. Interesting results happen if: Trigger message. Wait for message to fade out. Save game. Edit "tdm_message.gui" and change "rect" to something else, such as "100,100,206,160". Load game. Trigger next message. (The previous message parchment will blink for a single frame at the previous "tdm_message.gui" "rect" value. The next message parchment will fade in at the current "rect" value.) (See attached screenshot.) It's seems the messages are not being removed from memory after fade out. @duzenko @Obsttorte Any ideas? Are scripts completely controlling this feature? If not, where in the game code is it handled? The following shows the code change made to "guis/tdm_message.gui" for this example to expose part of the issue. // A GUI for showing little messages to the player, used f.i. by the training map: windowDef parchment { - rect 0,-10,206,160 + rect 100,100,206,160 nocursor 1 background "guis/assets/mainmenu/oldparchment_backdrop3" matcolor 0,0,0,0
  15. @AluminumHaste How did you get the viewpos to display in your screenshots?
  16. I use the code from SVN to build my own executables for development and testing. So, r10189 refers to a revision in SVN, which is more recent than the current dev build. There were some recent fixes for screenshots, which I think improved things. But there seems to be a few issues left to solve. I'm just making sure those are known.
  17. Using r10189 with stencil shadows, save game screenshots are dark/black (see attached screenshot). Regular screenshots are almost correct. When taking a regular screenshot, volumetric lights blink off and back on in the game world. Volumetric lights in the screenshot look different than what's displayed in game.
  18. @stgatilov I found that volumetric lighting passes through walls and illuminates the light gem when using stencil shadows. This doesn't happen with shadow maps. To reproduce, play "Iris" and go to 6817 -568 -637.66. The volumetric lighting from the fireplace in the room above that location causes the light gem to illuminate. Summarized: light gem - dark r9853 stencil r9853 maps r10183 stencil (r_volumetricEnable 0) r10183 maps ------------------------------------- light gem - illuminated r10183 stencil (r_volumetricEnable 1)
  19. @stgatilov Fixed. Thank you so much! Loading feels incredible now.
  20. @stgatilov I tried out r10174 and tested that scene, and it's now a steady 60 fps with Frontend Acceleration disabled. Great job! I read through your code changes, and my jaw dropped. It's really impressive work! When I originally posted about the drop in FPS, I thought maybe a few basic tweaks could be made. You went above and beyond that. I appreciate that you used several different techniques to improve performance.
  21. @MirceaKitsune About that key... Solution
  22. In the console: To get the current view position: getviewpos The output of getviewpos will be something like: 2571.93 -315.25 -2179.64 42.8 55.0 0.0 To move to that view position: setviewpos 2571.93 -315.25 -2179.64 42.8 55.0 0.0 coordinates: 2571.93 -315.25 -2179.64 view angle: 42.8 55.0 0.0 It's ok to just use the coordinates (without the view angle) setviewpos 2571.93 -315.25 -2179.64
  23. I thought the same at first, so I tested a few other games. I'm able to run Quake (Ironwail) with an uncapped framerate. I even got over 3800 fps on the start map. That was just for this test, though. I usually cap it at 60. Fullscreen
  24. I tried setting max FPS to 120 and vsync off, but my FPS is still 60 fps. I wonder why that is.
×
×
  • Create New...