Announcing Tesseract... |
by eihrul
on 04/18/2012 00:48, 137 messages, last message: 08/19/2013 16:01, 138256 views, last view: 12/09/2021 06:27 |
 |
|
What is Tesseract? Tesseract is a sort of Frankenstein's monster that escaped the lab when I ripped out the static lightmapped heart of Sauerbraten, squished it under-foot with extreme prejudice, and stitched it back together with deferred shading and shadowmapping.
Run-down of the cool new features:
deferred shading
HDR rendering with tonemapping and bloom
omnidirectional point-light shadowmaps
sunlight cascaded shadowmap
screen-space ambient occlusion
screen-space water reflections (no more reflection plane limits)
refractive alpha cubes
refractive glass material
A dorky video of some of this stuff in action:
http://www.youtube.com/watch?v=ZkFT1ra2w-A
The actual code is at a github repository for the moment:
https://github.com/lsalzman/tesseract
See the README for some more details about running it.
The code is still under Zlib license.
The work on this code was done in collaboration with Benjamin Segovia over the last month or so.
The codebase is still in a state of high flux, so I would expect a lot of changes coming in the future.
The goal of all of this is not really to replace Sauerbraten and development on Sauerbraten itself will continue into the future. This is just a fork, a what-if experiment to see what it might look like if it dropped all concerns about compatibility and good performance on old hardware and just tried to modernize.
In fact, while it can load Sauerbraten maps, the lighting model of Tesseract is roughly incompatible, as not only do Sauerbraten maps use way too many lights, but Tesseract renders the lights a bit differently.
Tesseract is not at this moment endeavoring to be a stand-alone game, but just another parallel codebase people interested in the engine can choose from to work from if they want to mod it into a game of their own.
|
 |
|

Board Index

|
 |
#10: Re: .. |
|
by Razgriz
on 04/18/2012 15:12, refers to #8
|
 |
|
Don't get too excited, it's gonna be a really long time before it makes it to the official release, lots of bugs, and the whole thing isn't exactly cheap on power draw.
reply to this message
|
 |
#11: Re: .. |
|
by eihrul
on 04/18/2012 16:07, refers to #8
|
 |
|
Tesseract builds off the work I implemented in DarkPlaces for omnidirectional shadowmapping.The unrolled cubemap system LordHavoc and I designed, the culling and PCF filtering code I wrote, and other things I sort of lifted wholesale from code I wrote for DP. That greatly accelerated the initial implementation. Stuff like the option for tetrahedral shadowmapping to reduce the number of renders from 6 to 4 and cascaded shadowmaps is entirely new.
LPV, I am not sure about yet. The LPV I implemented for the demo would have no occlusion, meaning it would bleed straight through a wall as if the wall did not exist, which would make it much worse than the existing SSAO. And doing good occlusion for it is quite expensive. There are potential other ways to do it, but I just wanted to get the basics in place first on which other stuff can be built.
reply to this message
|
 |
#12: .. |
|
by suicizer01
on 04/18/2012 18:47
|
 |
|
When a final or even the beta of this comes out, I'll be there to map on this damn great new fork.
reply to this message
|
 |
#13: .. |
|
by _Spiney
on 04/18/2012 18:56
|
 |
|
Playing with debugbuffersplit 1 is strangely hypnotic :P
reply to this message
|
 |
#14: Amazing! |
|
by Windecker
on 04/19/2012 17:24
|
 |
|
I just spent the last two hours abusing the dynamic lighting. It's great! :D
I can adjust ever light source in the map at once without waiting, and watch the changes. :)
reply to this message
|
 |
#15: .. |
|
by great.
on 04/19/2012 19:48
|
 |
|
how do you install on windows?
reply to this message
|
 |
#16: Re: .. |
|
by _Spiney
on 04/20/2012 00:23, refers to #15
|
 |
|
go here and download the .zip file
https://github.com/lsalzman/tesseract/downloads
unpack it.
now you need to add the packages folder of a recent Sauer build into the ../tesseract/packages folder
you can find a recent build here
http://sauerbraten.svn.sourceforge.net/viewvc/sauerbraten/
click on "download gnu tarball"
you'll need to use an archiver such as winrar or 7zip to unpack it.
If you get prompted to overwrite older files make sure to say no, so you don't accidentally mess up the Tesseract files.
reply to this message
|
 |
#17: .. |
|
by Windecker
on 04/20/2012 04:10
|
 |
|
I just created a junction point from my sauer svn packages folder.
Saves space. :)
reply to this message
|
 |
#18: Re: .. |
|
by great.
on 04/20/2012 04:23, refers to #16
|
 |
|
Thanks. I installed it, it looks very nice but it is very choppy on the lowest settings.
reply to this message
|
 |
#19: Dynamic Rough Gem! |
|
by Zamwa
on 04/20/2012 07:43
|
 |
|
After experimenting this is what I concluded:
.Coincidentally I'm not going to miss using the "old shool" lightmap generator ether though I'd like to use both in conjunction for optimal performance!
.It be handy to have a command line setting of the dynamic refresh rate!
.hardware compatibility is like an old mans love for a maxed out old dino MS-DOS purring like a kitty at 3 frames per second! :"P
Out of curiosity were the name Tesseract came from?
reply to this message
|
 |
#20: Re: Dynamic Rough Gem! |
|
by Razgriz
on 04/20/2012 09:12, refers to #19
|
 |
|
Gonna be a problem. The whole idea is ripping out the static lightmapping of the game, so there's no fixed-function pipeline for users who can't support this to fall back to. So either your hardware supports shaders and openGL, or it doesn't.
http://en.wikipedia.org/wiki/Tesseract
reply to this message
|
 |
#21: Sauerbraten 3 |
|
by naggie
on 04/20/2012 15:55
|
 |
|
Great news!
This is similar in magnitude to the differences between Cube 1 and Cube 2.
How about calling it Sauerbraten 2 or cube 3?
reply to this message
|
 |
#22: Re: Sauerbraten 3 |
|
by Q009
on 04/20/2012 16:08, refers to #21
|
 |
|
No. It's not similar. It's just graphics overhaul
reply to this message
|
 |
#23: Re: Sauerbraten 3 |
|
by _Spiney
on 04/20/2012 16:25
|
 |
|
While I wouldn't call it of a similar magnitude, it's pretty invasive. Unified lighting and shadowing allows all kind of stuff that would be very non-trivial to do with Sauerbraten.
reply to this message
|
 |
#24: Re: Sauerbraten 3 |
|
by eihrul
on 04/20/2012 17:12, refers to #21
|
 |
|
The choice was either Cube 2.5 or Tesseract, so I went with Tesseract. :)
reply to this message
|
 |
#25: Re: Sauerbraten 3 |
|
by suicizer01
on 04/20/2012 18:24, refers to #24
|
 |
|
+1 for that.
reply to this message
|
 |
#26: lighting extension |
|
by suicizer01
on 04/20/2012 18:32
|
 |
|
I don't know if this already is possible in Tesseract, but it would be damn great.
The idea is to have some more realstic lighting when using a shader like "pulseglowworld".
I talk about then:
- Controlling the intensity of the light real-time, so it could match the "pulsespeed" shaderparam (even it doesn't have to)
- Controlling the colour of the light real-time, so it would match the "pulsecolor" and "glowcolor" shaderparams.
Bad thought or what?
reply to this message
|
 |
#27: .. |
|
by Windecker
on 04/20/2012 19:20
|
 |
|
Not that this thread is for suggestions, but here are three thoughts for this amazing amazingness:
1 - A simple flickering/flashing/pulsating light controlled like a particle. ( like the old Unreal games had everywhere. ) Great for torches or those florescent lights with a bad ballast. ;)
2 - A bar light entity.. this might be difficult to do; I don't know. It would emit light from a line rather than a point.
3 - Finally, the ability for a texture to emit it's own light via a glow map with the right parameters.
reply to this message
|
 |
#28: Thank you |
|
by sharavsambuu
on 04/20/2012 20:12
|
 |
|
Wow thank you very much eihrul!!!
reply to this message
|
 |
#29: Re: .. |
|
by eihrul
on 04/20/2012 20:47, refers to #27
|
 |
|
The problem is generally the shadows. Area lights + shadowmaps don't really mix. You can fake it by making the light a bar, and the shadows emit from a point, but I don't know how great that would look.
I guess the other problem for animating the lights is that it is kinda clunky to do it in the ent. You'd probably have to to do the animation in a cfg because of all the parameters necessary which would be a bit lame, dunno.
reply to this message
|
 |
 |
|

Board Index

|
 |