Giter Site home page Giter Site logo

Comments (13)

ensiform avatar ensiform commented on July 20, 2024

gamma and overbrightbits is accelerated in GL2 as a glsl shader IIRC which could be the difference.

from ioq3.

wareya avatar wareya commented on July 20, 2024

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.

wareya avatar wareya commented on July 20, 2024

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.

SmileTheory avatar SmileTheory commented on July 20, 2024

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:

gl1full0
OpenGL1 renderer, r_fullscreen 0

gl1full1
OpenGL1 renderer, r_fullscreen 1

gl2
OpenGL2 renderer

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.

wareya avatar wareya commented on July 20, 2024

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.

image

from ioq3.

SmileTheory avatar SmileTheory commented on July 20, 2024

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.

wareya avatar wareya commented on July 20, 2024

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.

ensiform avatar ensiform commented on July 20, 2024

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.

wareya avatar wareya commented on July 20, 2024

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.

ensiform avatar ensiform commented on July 20, 2024

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.

SmileTheory avatar SmileTheory commented on July 20, 2024

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.

wareya avatar wareya commented on July 20, 2024

Thanks!

from ioq3.

wareya avatar wareya commented on July 20, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.