Jump to content
The Dark Mod Forums


Active Developer
  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by duzenko

  1. Texture upload takes a long time when source format is RGBA but internal is compressed It has to happen on the main thread So you either drop frames when textures need to load or defer loading textures for later frames which may cause missing textures for a few seconds Remember texture loading issues in Rage? Yet, if you need to load many textures from a spinning drive then even precompressing won't help you I was thinking about allowing to specify a temporary loading placeholder color but there's too many materials and nobody is really interested in it
  2. You can't 'stream' .jpg textures
  3. SS samples uniform not set after shader reload
  4. Can't see any reference of a compression tool on that link
  5. Does either of them support RGTC?
  6. .map/.proc/.cm files can take a while to load, as well as AAS parsing Then, there are also scripts, def's, materials
  7. Unfortunately VS2019 profiling does not work for me But image_preload 0 will do the job - try it.
  8. Good question that I can't answer fully ATM. D3 offers two automatic conversion options: via the r_writeCompress_something cvar that is supposed to let the GL driver do the conversion and then simply bit copy the result from the VRAM. You'd think that driver's on-the-fly compression is fast but image quality might suffer. using an external command-line tool. Supposedly this is the recommended option. We still need to decide which 3rd party compressor we want to use and how to wire it to TDM (command line params, etc) Feel free to try either of these but keep in mind that texture loading is only a fraction of total map loading time. I'd like to get the RGTC conversion completed but afraid to touch it before 2.08 is out
  9. https://bugs.thedarkmod.com/view.php?id=4902 Where are we on this? Is there a demand for further improvements in this area?
  10. You'd think so, but in reality a lot of people want to play TDM on old computers, that don't support Vulcan at all That, and there's really nobody volunteering for actually doing such a move
  11. I think it was a bug with FBO/PP that was fixed in 2.08
  12. Added a cvar to trunk svn
  13. tdm_force_savegame_load 1 Looking at console font now
  14. I got it almost working but... 20fps in Main Menu and 2fps in the Outpost for a few seconds and then the driver throws an Access violation That's all everybody needs to know about PowerVR and their Windows drivers.
  15. It's not like fence sync could give it any boost
  16. OK, glCopyBufferSubData is another missing bit.
  17. We could replace string first and fix the GLSL later when we know that everything works It's a one file vs many files change
  18. We could workaround with a runtime string replace under a special cvar?
  19. I think the only 3.1 feature in use is UBO for projection matrix, under a uniformtransform cvar There's also the instanced draw, but only used for shadow maps So it looks easy enough TDM starts and creates a context but fails GL feature test
  20. https://opengl.gpuinfo.org/displayreport.php?id=4560
  21. What about passing additional inputs to that universal shader? All inputs need an explicit reference in GLSL, and a corresponding C++ linking code. Not as easy as it sounds... How I would approach it is, add a standard shader for this, or simply add an option for multiple diffuse maps to our interaction shader. Another option would be allowing lights to have a custom interaction shader in their material.
  22. Single-pass multi-map render is possible and can be added to TDM. It's just that nobody has bothered with it yet. (Even though everyone is clenching teeth about how slow and old-looking the game is). If you ask me, vertex color is a hairbrained hack that only made sense on DX7 hardware. It has per-vertex precision, i.e. you need to triangulate your surface into many small poly's while custom shader allows a better result with just a single quad. As for performance, your three-map blending will need three passes with vertex color, while custom shader does it with two. Goes without saying, that you need to pre-bake your blending into vertices somehow, compared to blend texture here. You decide what's easier.
  23. I hope you don't want your material to interact with lights. It's possible with blend modulate but I advise against using it due to massive performance cost of multi-pass rendering textures/splatmap { qer_editorimage textures/splatmap diffusemap _white { blend modulate program splat fragmentMap 0 textures/splatmap fragmentMap 1 textures/darkmod/nature/grass/short_dry_grass fragmentMap 2 textures/darkmod/nature/dirt/dry_earth_stones fragmentMap 3 textures/darkmod/nature/dirt/sand_purplish } }
  24. Try this .mtr textures/splatmap { qer_editorimage textures/splatmap { program splat fragmentMap 0 textures/splatmap fragmentMap 1 textures/darkmod/nature/grass/short_dry_grass fragmentMap 2 textures/darkmod/nature/dirt/dry_earth_stones fragmentMap 3 textures/darkmod/nature/dirt/sand_purplish } } .vs #version 140 #pragma tdm_include "tdm_transform.glsl" INATTR_POSITION in vec2 attr_TexCoord; out vec4 var_TexCoord0; void main() { var_TexCoord0 = vec4(attr_TexCoord, 0, 1); gl_Position = tdm_transform(attr_Position); } .fs #version 140 uniform sampler2D u_texture0; uniform sampler2D u_texture1; uniform sampler2D u_texture2; uniform sampler2D u_texture3; in vec4 var_TexCoord0; in vec4 var_TexCoord1; in vec4 var_TexCoord2; in vec4 var_TexCoord3; out vec4 FragColor; void main() { vec4 w = texture(u_texture0, var_TexCoord0.st); vec4 tex1 = texture(u_texture1, var_TexCoord0.st); vec4 tex2 = texture(u_texture2, var_TexCoord0.st); vec4 tex3 = texture(u_texture3, var_TexCoord0.st); FragColor = w[0]*tex1+w[1]*tex2+w[2]*tex3; } How it looks to me At this point I have to say that I am confused by your `blend` confusion What are you trying to achieve with this? Note that my version does not use it at all (leaves it default)
  25. Look at the unform names in the standard shaders inside the glprogs folder for referense Post here for more info
  • Create New...