I've just done multisampling in DirectQ 2.0.0, and after some brief hiccups, it works. However the debug layer (D3D has a proper debug layer - isn't that awesome?) warns me that I'm trying to read from a multisampled texture via a standard Texture2D object in my render-to-texture shaders. That sucks - D3D9 was able to handle this automatically.
Some further investigation reveals that I need to use a Texture2DMS object instead (the "MS" stands for "multisampled", I guess), which needs the number of samples explicitly specified. Hold on a moment? Does that mean that I need to create a new version of each such shader for each multisample level?
Madness.
OpenGL Uniform Buffer Objects were added to my Quake II engine. The intention was to do much the same as for DirectQ constant buffers - upload a chunk of common values (the current MVP matrix, the current Ortho matrix for 2D stuff, player positioning info, etc) at the start of each frame and have them available to all shaders.
They run slower than plain uniforms; the OpenGL buffer object specification strikes again. No amount of glBufferData (...NULL...) or GL_MAP_UNSYNCHRONIZED_BIT can prevent them from stalling the pipeline. This is a pure API/Driver problem - it doesn't happen with constant buffers in D3D11 because D3D11_MAP_WRITE_DISCARD works as advertised; the hardware is clearly capable. Rip them out and go back to standard uniforms.
I can do "layout(location = 0) in vec4 position;" but I can't do "layout(location = 0) uniform mat4 localmatrix;"? Does the same person on the ARB who loves bind-to-modify also love glGetUniformLocation? Or are there two of them? (Yes, this was fixed in GL 4.2. Why was it not in GL 2.0? Sigh.)
4 comments:
Is there any word as whether there will be a bug fix release for DirectQ 1.9.0? Specifically, better ogg support and better compatibility with the lastest QRP release? I know wavs and mp3 work fine, but darkplaces doesn't support mp3 so one has to go with multiple Quake installs or use the huge 500MB wav files to make them compatible in the same Quake folder. I already have about 5 quake folders on my computer and I would like to cut this down, mostly because all of the graphic enhancements and maps need to be also installed in multiple locations and it has become a disk space hogging nightmare. I am open to any suggestions. Larger IDE drives are very expensive now so that is not an option on a computer that will be replaced when finances allow. I like to test other Quake engines, as well, such as Quakespasm and engineX. I guess engines playing nice with each other has always been a problem in Quake. Darkplaces has appeared to sort of establish some standardization that you and some other designers have followed. For example, external content naming coventions and standardized external content file locations
I was looking back a DirectQ 1.9.0 bug clearing house and wanted to note that It has always worked fine with Darkplaces and other engines that support it. In addition, it worked fine in older builds of DirectQ. Were the older builds more forgiving of the bugs in the texture sizing that you mentioned, earlier? Thanks
Sorry, my last comment was referring to the QRP 1.00.
I've tried the latest QRP pack and it works for me. The texture loading code hasn't changed between versions - at least the part of it that actually loads textures hasn't - so I'm at a total loss as to what the cause may be.
Post a Comment