Comments (13)
gamma and overbrightbits is accelerated in GL2 as a glsl shader IIRC which could be the difference.
from ioq3.
The banner models on q3dm6 and other maps also seem to be lit funny, but in the opposite direction. But I'm not sure.
from ioq3.
This should illustrate the problem: http://screenshotcomparison.com/comparison/180537
In vanilla quake 3, with default settings, the opengl2 rendering backend makes various elements look darker or brighter than they should be. The way lighting information propagates through the renderer is different than it should be.
The high dynamic range of lightmaps being displayed is a valid enhancement, but the armor, banner, and fog are all plainly different in a way that shouldn't be considered faithful. (There are others visible in this comparison, but those are the most obvious)
from ioq3.
I think this is (mostly) a misunderstanding.
GL1 overbrights differently depending on r_fullscreen. GL2 does not, and acts as if r_fullscreen was always on.
Here are some screenshots to demonstrate:
OpenGL1 renderer, r_fullscreen 0
OpenGL1 renderer, r_fullscreen 1
These screenshots don't show the fog however, which is wrong regardless of overbright settings. I don't have a good fix for that, though.
from ioq3.
I can't replicate your fullscreen gl1 screenshot. gl1 looks like your windowed version at all times.
edit: Okay, I got it to work the way you're describing on just gl1.
Given the objects circled in red, isn't making it so GL2 only works one way a bad idea? I would never have expected the difference to come down to GL1 being fullscreen or not, especially since it always looked the windowed way back when I was playing on linux.
from ioq3.
Thing is, the "one way" as you put it, is the correct way. With r_fullscreen 0, GL1 simply ignores the r_overbrightBits value, and acts as if it were set to zero. If you want GL2 to behave like GL1 non-fullscreened, just set r_overbrightBits to zero.
from ioq3.
Thanks for explaining. One more thing is the 3d player head model on the HUD is a different brightness between gl1 and gl2 on default settings (it's brighter on gl1), but that might be CPMA doing something weird.
from ioq3.
You should not compare cpma directly with the stock version IMO since the source is closed we don't know for sure there's differences in its source.
from ioq3.
CPMA is a mod/game, not an engine thing. Unless it's trying to detect engine variants it shouldn't have weird shading stuff going on that vanilla wouldn't if it did the same stuff.
from ioq3.
I know what CPMA is, I was simply stating that since you implied "CPMA might be doing something weird..."
The lighting in rend2 isn't going to be 1:1 perfect with vanilla still which is something @SmileTheory will need to work on I'm sure.
from ioq3.
Anyway, I put in a fix for the fog color in 863adfc , and everything else is fixable via cvars, so I'm closing this.
from ioq3.
Thanks!
from ioq3.
Looking back on this, it seems like it's not possible to get HDR lightmaps without breaking entity lighting, by using cvars.
from ioq3.
Related Issues (20)
- Archive Pull Request on Quake III Official Repository HOT 3
- ioquake3 Flatpak
- Test & Improve Steam Deck experience HOT 1
- Changes to OpenGL2 Renderer's ComputeShaderColors Function Broke My Particles HOT 2
- CRT filters and warping options.
- OpenGL2: r_mergeLightmaps 1 breaks shaders using internal and external lightmaps
- options shows wrong resolution for custom resolution HOT 2
- OpenGL2: Dlight behavior close to surface HOT 1
- Unknown blend mode 'gl_src_color' leads to black menu screen with the PadMod HOT 3
- opengl1: Add software gamma ramps / overbright
- OpenGL2: Lightmap as an environment map renders incorrect with r_mergeLightmaps 1 HOT 1
- OpenGL2: r_ext_multisample > 0 breaks r_drawSunRays 1 (without HDR or FB-MSAA) HOT 1
- OpenGL2: Flares in mirrors calculate wrong depth and have wrong visibility
- Failing to open x64 game in a path with special characters HOT 3
- OpenGL2: The game is too bright and auto-exposure doesn't match the original
- OpenGL2: Curved surfaces don't use dynamic level of detail
- OpenGL2: Stencil shadow volumes are broken (cg_shadows 2) HOT 1
- OpenGL2: r_shownormals 1 is not implemented
- [Warning] Area 51 (2005) HOT 1
- rendering improvements feedback
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ioq3.