I noticed there is a lot of misconception floating around, and some misunderstanding too.
So I did a FAQ, so people don't have te re-explain things over and over, and people can redirect to the FAQ when needed:
I noticed there is a lot of misconception floating around, and some misunderstanding too.
So I did a FAQ, so people don't have te re-explain things over and over, and people can redirect to the FAQ when needed:
This comment is licensed under cc by 4 and antecedent. The Dæmon Crunch tool is awesome!
Example with recent things I have seen on the chat, with FAQ answers:
the complexity of implementing software variants of stuff in modern OpenGL (3+) hinders the totality of actual players for no reason
someone could of course also mention the insistance to keep more than antiquated openGL support (even recent openGL are obsolete, mind you) in the core rendering, preventing the use of nice features that allow mesh instancing, which have the potential to drastically drop the rendering cost
the sRGB can be useful, as long as it does not impacts old maps
there are hundreds of other dark maps we could see in nice light with adaptive exposure. but you blocked that
you dismissed it in favour of your srgb thing
you made considerable changes to how a map's lighting is displayed. thankfully, you rolled back the most invasive changes.
This comment is licensed under cc by 4 and antecedent. The Dæmon Crunch tool is awesome!
The overbright response is too simplistic. Some Quake 3 and Tremulous players/mappers were playing with 1 overbright bit, others with 0. It could depend on your OS and configuration. Our latest default of r_overbrightBits 1 is consistent with what players playing full-screen on Windows would have seen with default settings.
If you determine that a specific map was designed for overbrightBits = 0, it is possible to fix it by adding a key in the worldspawn entity.
Thanks for the details. Yes, the overbright bit thing is a bit more complicated than a sentence can tell, but the FAQ answers better be kept small. In id Tech 3 ecosystem, “players playing full-screen on Windows” is the reference experience. We also have actual and historical screenshots (like atcszalpha) showing unambiguously that such overbright setting was the expected behaviour in Tremulous time as well. The renderer did not respect that legacy and has been fixed. And yes a simple map entity key can just enable other options.
This comment is licensed under cc by 4 and antecedent. The Dæmon Crunch tool is awesome!
Instead of doing a very large paragraph for a single question, I added two questions with their answers:
This comment is licensed under cc by 4 and antecedent. The Dæmon Crunch tool is awesome!
It's valid to say that overbrightBits=1 is the reference experience for Quake 3. However Tremulous had a huge Linux player base, so I would expect there were some mappers on non-Windows setups. Assuming that Linux clients in fact didn't implement overbright, there must have been a lot of people who only ever played with overbrightBits=0. We can find screenshots demonstrating overbrightBits=1 but I bet we can find ones with overbrightBits=0 too! I'm just trying to say that overbrightBits=1 was probably not an overwhelming majority of Tremulous experience.
In general, there's nothing wrong with an answer of more than one sentence. Dismissive answers that deny any complexities don't inspire confidence.
I added some more detail to one of these:
Q: Did you have to roll back the overbright support?
A: No, but when overbright support was reintroduced in 0.55.0, it mistakenly made the effect too strong (equivalent to r_overbrightBits 2). In 0.55.3 it was corrected to use the historical Q3/Tremulous value of r_overbrightBits 1.
In general, there's nothing wrong with an answer of more than one sentence. Dismissive answers that deny any complexities don't inspire confidence.
Yes, that's why I added those additional Q/A lines. What I meant is that it's better to split in smaller questions. It helps to explain why the answer is longer, and help to better picture the complexity.
This comment is licensed under cc by 4 and antecedent. The Dæmon Crunch tool is awesome!
Actually, the FAQ already answers to such another misinformed comment I've recently seen on chat, but then I added details to the FAQ to make it even more explicit:
in contrast, daemon's rendering code takes paths to support as many standard at possible at runtime which is bad for performances because it means the CPU, which is a serious bottleneck, have to run more code each frame, instead of less
I also stumbled into such comment in chat, which was also misinformed:
glDrawElementsInstanced was introduced in OpenGL 3.1, which exists since march 2009. Take into consideration that unvanquished's 1st commit was either on 29th Marsh 2013
in practice, ioq3 is now a more modern engine than DaemonEngine, on this hardware question.
It have actual support for OpenGL 3.1 as evidenced by the presence of glDrawElementsInstanced in the source code, unlike DaemonEngine.
So the FAQ answers to these questions as well:
Of course the comparison with ioq3 is mistaken, the said symbol came from vendored libs, and not every game has to use every symbol. It should surprise nobody that some renderer contributor names can be found in both ioq3 and Dæmon as there is some shared history and community, and (unlike that person wrongly assumed) Dæmon has the most advanced maintained id Tech 3 OpenGL renderer. It happens that some people may infer wrong things out of other things, so we better be explicit to avoid misunderstanding. Mistakes can happen, I hope such FAQ will reduce the risk of misunderstanding.
This comment is licensed under cc by 4 and antecedent. The Dæmon Crunch tool is awesome!
This Q/A also addresses the same misunderstanding about compatibility being a performance eater (which is not true), this removes more doubts:
This comment is licensed under cc by 4 and antecedent. The Dæmon Crunch tool is awesome!