News | Forum | People | FAQ | Links | Search | Register | Log in
Quakespasm Engine
This engine needs its own thread.

Feedback: I like the OS X version, but I have to start it from the terminal for it to work and can't just double-click it like a traditional OS X app. I'm sure you guys already know this, either way great engine.

http://quakespasm.sourceforge.net/
First | Previous | Next | Last
Fullbright 
Am I then correct that QS and the like have some hardcoded stuff or something so that the lighting gradiates like in the software renderer?

Yes. It's important to know that historically, GLQuake didn't support fullbrights at all, so support for them in pretty much all custom engines has been added after-the-fact. 
 
What I am wondering is if you could not do it via reading out the colormap.lmp is all. 
 
Yeah, Quakespasm/Fitzquake hardcode the palette indices 224-255 as fullbright.

GLQuake/Fitz/QS use the opengl fixed function pipeline to combine textures with the lightmaps to produce the final image. This predates modern programmable GPUs, all it allows is telling the GPU to multiply the texture color by the lightmap to produce the final color, so there's no way to make use of the colormap.lmp lookup table. Nowadays, I think you could write something with fragment shaders that uses colormap.lmp. Not sure if anyone has done that though. 
Could You 
Override the hard coded indices if a colormap.lmp is detected? 
 
Well, a colormap outside the one in id1/pak0.pak 
Although 
modifying Fitz/QS to read the number of fullbrights from the colormap.lmp (and not using it for anything else) is probably possible. I saw it discussed here: http://forums.inside3d.com/viewtopic.php?f=12&t=4247 
 
The standard quake colormap accomplishes 3 things:

1. force last 32 colors to be fullbright (but it could be different with a different colormap)

2. force the other colors to have 2x overbright lighting (but it could be different with a different colormap)

3. create a lookup table to find the correct palette index for the texture color + lighting value.

#1 and #2 are hard-coded into fitzquake based on the setup of the standard colormap. This means fitzquake assumes 2x overbrightening and the standard 32 fullbright colors.

#3 is irrelevant in a 32bpp renderer.

Of course there are all sorts of crazy effects you could do with a colormap, so no matter what assumptions the glquake-based engine makes, those assumptions could be wrong. For example, you could have colors that have an inverted lighting model (shadows would make them brighter) and you could have colors that change hue based on brightness (like orange highlights, blue shadows) And many other things. The only way to truly support those things is to write the equivalent of a pixel shader that uses the colormap as a lookup table. 
@metlslime 
Then that would be the way to go, imo, just speaking as an artist here.

And I for one do not like to play with 32bpp because it makes stuff look washed out and bland. Keeping the original stepping of the colours used in the colormap makes things more contrasty as well as grittier and more surreal. It just is part of the feeling of Quake for me. With a pixel shader you could also have the added benefit of 32bit smoothness while still keeping the stepping of the colormap. So it't a win win I would say.

But I guess there would have to be some command for it that would deactivate the colormap, just to make sure, or of people want to use truecolour textures or something like that. 
New Builds (0.85.10-r980) 
New prerelease builds uploaded at http://quakespasm.sf.net/devel/

win32:
http://quakespasm.sf.net/devel/quakespasm-0.85.10-r980_windows.zip

win64:
http://quakespasm.sf.net/devel/quakespasm-0.85.10-r980_win64.zip

macosx:
http://quakespasm.sf.net/devel/QuakeSpasm-0.85.10-macosx-r980.zip

Linux users can checkout the svn and build for themselves.

Changes since the previous r958 test builds from Aug. 08 include:
FSAA support, fence textures support, brush model drawing speedup,
better cross-map demo playback support, and increased limits for
MAX_ENT_LEAFS (32), MAX_EFRAGS (4096) and MAX_CHANNELS (1024).
For more detailed list of changes see the READE file (or browse the
svn history.) 
 
Orl's test map is playable now :). Nice one.

Any likely/possible regressions with the new brush model code ? 
FSAA ? 
I tried the OS X version, and I don't see any FSAA option.
Where is it ? 
Barnak 
RTFM 
Nice, Thanks 
Though what bothers me a little is that the readmes are called README.* instead of quakespasm.* - with all the stuff in my Quake dir, I prefer it all easily recognizable (without having to rename the files with every new version I install). </Spirit> 
Szo 
WTF!?

You shouldn't have to read a manual for a graphical option . It needs to be shown with any other graphical option in the interface.

This is nonsense ! 
 
I support negke's cause at least for "extract and go" packages. All files should have unique names.</honk> 
Lava And Teleport Alpha ? 
Is there any lava and teleport field alpha parameters now ? I don't see anything related to these, in the readme. 
 
If there were, they would be documented in the readme. 
Fantastic Job 
My hats off to you Quakespasm team. My map now runs at a constant 60 frames per second or higher, never dropping below that. It even runs well on my laptop with much weaker hardware. Great job guys! 
 
Thanks for putting up the builds szo.

Orl, glad I could help. :-) Your map looks wicked!

There are still a couple more optimizations I want to look at some time, namely using vertex arrays for world/bmodels and alias models.

Barnak, I tried to put fsaa in the menu but it requires a cascade of deeper changes in the engine that need a lot of care to get right. You can just set vid_fsaa in the console and it'll get written to your config.cfg, and used on all subsequent launches. 
Ericw 
Thanks for the info.

Now, what's up with a separate alpha for water, lava and teleporters ? 
Barnak 
Rome wasnt build in a day.

@szo, ericw, steven you rock! Thanks guys! 
Sndspeed Issue In QS-0.85.10-r980 Win X64 
- If you change 'sndspeed' in the console, the value is not saved in the config.cfg.

- If you manually add 'sndspeed' to the config.cfg (I was adding 'sndspeed "44100"'), the engine uses the new value, bit it disappears from the config.cfg after closing the engine. 
 
AFAIK sndspeed wasn't automatically saved in 0.85.9 either. config.cfg is just for things the engine saves itself, you should put that a custom sndspeed setting autoexec.cfg.

I know it's confusing. i don't know if it's documented anywhere other than the source code which cvars are saved in config.cfg or not!

Also just a note, the meaning of sndspeed was changed slightly in this release. QS now opens the OS audio device at 44100hz by default, and internally upsamples the sfx to 44100.

If you were setting sndspeed 44100 for better quality with replacement sounds, keep doing that and it will work as it was before.

If you were setting it to 44100 to hear the music at full quality, there's no need to do that any more, the music will be output at 44100Hz even if sndspeed is at the default of 11025. 
 
Speaking of which: section 3.1 in the Readme needs to be modified a bit now, and 6.1 could be clearer about how music is affected (or isn't). 
Good Catch, Will Update That 
 
First | Previous | Next | Last
You must be logged in to post in this thread.
Website copyright © 2002-2024 John Fitzgibbons. All posts are copyright their respective authors.