Racer v0.8.17 is out

Ruud

RACER Developer
Really experimental. v0.8.17 has a TOD editor (as already posted in the 'TOD editing' thread). The curves are not too great though, if somebody can fix them. ;)

v0.8.17 is at http://www.racer.nl/download/racer0.8.17.zip

Known issues:
- Existing tracks don't work correctly wrt lighting. The lighting unit is now kilolux (kilo to preserve precision). So at night the lighting can now really be dark, with exposure making it visible still. More info on lux at http://en.wikipedia.org/wiki/Lux
Once the TOD curves stabilizes to a nice default, the new lighting will hopefully not change anymore for v0.9.

Changes:
- Revise TOD/lighting scaling - the base lighting unit is now kilolux. Direct sunlight is
around 32-130 klux, skylight 10-25 klux, moonlit night=0.001 klux
(see also http://en.wikipedia.org/wiki/Lux)
The curves are not too great yet, but the nice thing is that the car lights vary
from day to night.
- Mie/rayleigh combination mix reverted to the original paper; slight change of color,
but this blends the world objects more nicely into the sky with some mie.
- Removed specular curves from TOD editor - it's now copied from the diffuse curves
- Revised split distances and smCor[] in constants.cg once more.
- Also using 4 splits now, with splitrenderjump<x> so it's faster even than 3 splits without jumps
- New white styling

v0.8.16 (11-08-10)
------------------
- Mirror texture was 8-bits, now HDR (16-bits)
- Mirror uses data/renderer/fullscreen_shaders_hdr/mirror_hdr.cg to handle HDR->LDR while painting
so it looks as intended
- Sparks didn't render right when used with a mirror or live_track=1 (prevModelViewProj)
- TOD editor using 'edit tod' for exposure. Horizontal=0000-2359, vertical=variable.
The editor jumps live to the time you're editing. It replaces a number of variables
that were hardcoded/constant. The future will see per-track tod support.
- Revised split distances and smCor[] in constants.cg
 
Hi Dave,

One of the biggest problem of shadow mapping is to get the shadow resolution destributed evenly across the screen, and it's always a headche. You can try decrease the split distance for the first split to about 6 and the second to about 20, this should give you more shadow texles around the camera, so interior shadow can be improved hopefully.

Perhaps we need a per camera defined shadow spliting value IMHO.
 
Hmmm, not sure on cameras etc. This has all left my understanding by now :)

All I know is the old system looked similar, ran faster, and didn't have any artefact issues. I'm just struggling to understand how/why this new one is better right now. I guess we have yet to see it at it's best?



I just took a HDR outside, got the sun position off internet, and set it up in Racer with some rough values aiming to copy what I can see in the HDR.

Just to save anyone else the effort, don't edit the curves in Racer yet, the CTRL S says it's saved the curves, but on Racer restart they are reset. So 40 mins of changing them down the drain there haha!


Ruud, curve save doesn't seem to work in Racer :)

Dave
 
Gahhh :D

Hehe, I knew it wouldn't be obvious :)

CTRL ALT S would be a nice feature to save them all.




Would be cool if anyone has some good shadow values for interiors to post them, I just can't seem to get anything that looks good and performs at all quickly vs the original type :(


Dave
 
Hi Dave,

One of the biggest problem of shadow mapping is to get the shadow resolution destributed evenly across the screen, and it's always a headche. You can try decrease the split distance for the first split to about 6 and the second to about 20, this should give you more shadow texles around the camera, so interior shadow can be improved hopefully.

Perhaps we need a per camera defined shadow spliting value IMHO.

Apparently the splitting is not shifted to the trackside camera that's the reason for the odd foreground until the car nears.

Alex Forbin
 
A picture is worth 10000 words, or so confusion said. Sun tracking across sky dome, it's no longer rounded as it was in an earlier version, and shadows problem which may be fixed with the other posts changing the common.cg file.

There is also a problem with carlswood on tracked, it's all white.

dome1.jpg dome2.jpg shadow1.jpg
 
I'd like to see the sun position done via lat/long, time, day, month, year. It has to be a 'fairly' simple algorithm... it would remove the need to have maybe four curves (sun xyz and 'night value) or at least the xyz ones...

Making half-accurate curves for any given location takes a few hours, and I'm still not sure it is working right, while lat/long and time is easy to get right :D




These shadows are still annoying me too Boomer. The first CSM ones we had just seemed to 'work'...

I've been doing side by side tests and the new ones *can* look better in an isolated case, but generally they are just slower and full of artefacts when you try optimise for all cameras and things. If you optimise for still shots, yes they are better. But in motion they just don't seem to work.




I just can't get that kinda thing working in the new versions no matter what I try. When I start to get near the FPS are about half as good.

Also, the above shadows in the video worked like that right out of the box. I've spent hours messing with variables and it's either good ish and slow, or not nice and still slower than the original ones hehe :D


Not wanting to put a downer on it all, but I guess these shadows will eventually be good enough to work out of the box right away without users editing random files?
I also hope that they are actually faster than the original CSM shadow type, otherwise people just won't use them. Is it worth pursuing this special shadow type for v0.9 if it's just going to mean lots more work and lots more fps hit, just to be slightly more accurate?


Dave
 
Well, there were some where it moved to depth, and then we went to the 'new' ones where things just seemed to start taking steps backwards with each new release (ie, more and more visually lacking generally)

I don't doubt in isolation the new ones are stunningly good, but there seems to be a problem with how they work dynamically from camera to camera and inside and outside and blending points moving visibly in the distance etc...

Secondly, a nice feature of the old shadows was they could be softened/sharpened nicely, so if you made an overcast looking sky, you could soften the sun shadow and get a nice soft sun on a hazy day effect, but that just doesn't seem to work nicely here. So far I see these as sharp only, and if you blur them they go all artefact crazy again, or you add samples and they slow right down :(





Anyway, been tinkering with dynamic ranges and stuff a bit...

I quite like these values...

Set TOD to 16:30 (for sun position)

Use standard Racer auto exposure (goes wrong if you generate sparks though!)

Extinction factor 0.23

Mie 0.00034

Rayleigh 0.0032

Ambeint 23.7, 23.7, 25.0
Diffuse 86.2, 81.8, 77.7

Sun intensity 5

Night 0 obviously



It is perhaps exposing a touch too brightly with the standard auto exposure, but on my test tracks it feels fairly 'right'... it looks best with a few clouds in the sky, not hazy but maybe 1/10th coverage of cloud.


Interestingly, clouds 0...1 now seems to prefer being a large range number now, so some tracks look nice with this nearer 0...10 in range. Hmmm


Either way, with good values it looks right. I think a lot of the issue will be getting our heads around the current Racer skies are optimised for sunny clear days, and on sunny clear days things are fairly bright and high contrast.

Dave
 
I'm getting this erratically:
Mon Aug 16 14:23:16 (INFO): [racer/6948] --- application start ---
Mon Aug 16 14:23:30 (FATAL): [racer/6948] Exception 0xC0000005, flags 0, Address 0x06E67EDB
(this dialog text is stored in QLOG.txt)

OS-Version: 6.1.7600 () 0x100-0x1

0x06E67EDB [nvoglv32]: (filename not available): (function-name not available)
0x074D93B2 [nvoglv32]: (filename not available): DrvPresentBuffers
0x074D97F0 [nvoglv32]: (filename not available): DrvPresentBuffers
0x06E49B88 [nvoglv32]: (filename not available): (function-name not available)
0x06E49FF6 [nvoglv32]: (filename not available): (function-name not available)
0x07458EFB [nvoglv32]: (filename not available): DrvPresentBuffers
0x07381FAA [nvoglv32]: (filename not available): (function-name not available)
0x06E4B9F7 [nvoglv32]: (filename not available): (function-name not available)
0x073C0656 [nvoglv32]: (filename not available): DrvCopyContext
0x0743D4FC [nvoglv32]: (filename not available): DrvPresentBuffers
0x06E4606E [nvoglv32]: (filename not available): (function-name not available)
0x073A1278 [nvoglv32]: (filename not available): (function-name not available)
0x0739FF9C [nvoglv32]: (filename not available): (function-name not available)
0x072D4E43 [nvoglv32]: (filename not available): (function-name not available)
0x072D4F99 [nvoglv32]: (filename not available): (function-name not available)
0x06E5DF88 [nvoglv32]: (filename not available): (function-name not available)
0x06EE3E9C [nvoglv32]: (filename not available): (function-name not available)
0x0054AB1A d:\source\trunk\dev\src\libs\qlib\qcanvas.cpp (line 702): QCanvas::ReadPixels()
0x005001E9 d:\source\trunk\dev_racer\src\lib\rminimap.cpp (line 399): RMiniMap::Make()
0x004E8142 d:\source\trunk\dev_racer\src\lib\rtrackv.cpp (line 1529): RTrackVRML::Load()
0x00493D66 d:\source\trunk\dev_racer\src\lib\rmanager.cpp (line 1915): RManager::LoadTrack()
0x0059A0E9 d:\source\trunk\dev_racer\src\libu\track.cpp (line 85): rrTrackLoad()
0x004034F3 d:\source\trunk\dev_racer\src\mrun.cpp (line 1664): Setup()
0x0040372E d:\source\trunk\dev_racer\src\mrun.cpp (line 1875): Run()
0x004014EA d:\source\trunk\dev_racer\src\main.cpp (line 235): main()
0x00401563 d:\source\trunk\dev_racer\src\main.cpp (line 242): WinMain()
0x005A02DB f:\dd\vctools\crt_bld\self_x86\crt\src\crt0.c (line 263): __tmainCRTStartup()
0x75B33677 [kernel32]: (filename not available): BaseThreadInitThunk
0x77069D42 [ntdll]: (filename not available): RtlInitializeExceptionChain
0x77069D15 [ntdll]: (filename not available): RtlInitializeExceptionChain

What's going on?

###EDIT###
It looks like it was Max running in the background. Could that be the cause?
I've never had this in previous versions of racer...
 
Some sun calculators and other info:
http://www.builditsolar.com/References/SunChartRS.htm
http://freegeographytools.com/2007/sun-position-during-the-day-for-any-location

and the one that generated the sun posit.jpg image below left:
http://solardat.uoregon.edu/SunChartProgram.html
It's a plot of sun position for my home location for today.


sun posit.jpg sun.jpg

Can be used to plot in curved the sun position cuves for x and z, y is a sine wave and can be easily plotted or Ruud can make it a permanent curve.

Found that clouds value has a drastic effect on sky color/brightnes and also found that over a short 30 min. period the sky darkened and lightened and the curves did not show that it should. Needs further investigation.
 
Cloudy skies right now are a tough one, since in theory sun_intensity needs to drop (so the sun spot goes away in the sky), but when that happens, the sky goes dark too... so ideally we need a new value, sun_spot_intensity... that means we can hide the sun spot because of our clouds, but retain it's influence on the sky behind the clouds (blue bits we see around clouds)

But yes, intensities change massively. Midday clear day very bright sun is about 110k and shade in those conditions is 20k... yet an overcast day is about 15k... tons darker!

I've been taking numbers from 3DS Max's IES sun/sky simulation because it's what architects and the like use for simulating how bright their buildings will be inside etc... it's rather good data actually.


As per the curves for sun position, we really should abandon them. Lat/long/time is all you need. These curves change massively with latitude, meaning we can have perpetual low sunlight at the poles for example, with much flatter and wider curves, turning into lines infact, while simple time of year will flatten and widen them.
Also using lat/long/time means we have the time variable, so we can move right from a summer setting to a winter setting by changing one simple value and the sun path through the sky changes automatically!


Good links there though!

I'm tempted to get one of these...

http://www.amazon.co.uk/Professiona...r_1_3?ie=UTF8&s=kitchen&qid=1281953777&sr=8-3

Then use my SLR and chrome ball to capture HDR's (rough ones mind you, but useful as a guide) alongside the Lux data from above...

Hopefully it would yield good data. I'm not sure how the light meter works though, I guess you point it at the sun for the sun intensity, then point it up while in a shadow area for the sky itnensity :D

Dave
 
That sounds like a plan.

Then the sun is still there behind the clouds, also illuminating the sky through mie/ray, and I guess clouds can cast shadows too perhaps :D

Also if clouds can be done dyanmically that would be nice too... then they could be higher resolution than the rather crummy texture we have now which need to be about 4096px wide to start looking nice through a narrower FOV lens (ie, 35mm camera is ok, but 70mm they start to look pixellated)


Of course I'm happy to still use a cloud texture for now, maybe if it could be 4096px wide it'd be better... perhaps also use that shader discussed that uses rgb for normal map for how the clouds get lit, and the alpha map does the cloud coverage... then a shader 'colours' the clouds.

Seems like the right direction to move in!

Dave
 
Using the curve I posted worked very well with my SNS track and a couple of others, and on carlswood for the sun pos. only. The y sine wave is max negative at time 0 and 24 and max plus at 12. It was a pitb to calculate the points with the scales used by Ruud, I'll look into changing them so that the cuves generated by the program will be easier to use. Curved works great for changes to the curves.

Now the tod folder needs to be in the track folder so that differences in track sky data can be accomodated!
 
Thanks for new version, Ruud!
I have few problems:
1. Don't correct reflections
2. Only Carlswood working fine with last Racer

Indeed, the change to lux lighting probably means that all lighting that was once 1.0 1.0 1.0 is now terribly dark. Using 'time=...' in special.ini works to grab values from the TOD curves though. Just try 'time 1930' after loading the track.
 
I'm getting this erratically:

What's going on?

###EDIT###
It looks like it was Max running in the background. Could that be the cause?
I've never had this in previous versions of racer...

Could be; I can run Photoshop in the background (GTX285/Win7 64-bits/195.62 drivers) and it works with Racer. I've seen machines though that had trouble running Racer while running Max, or gave performance issues. Perhaps just a driver out of memory? Similar issue with any app using OpenGL.
 
Hmmm, I have a bit of a bug, it's happening on all my tracks (Dunsfold, Snowden Moor and Elvington, so not limited to flat tracks or hilly tracks)

I'm clearly seeing the splits, like big boxes from above, and it is a repeating moire type pattern. It's not evident on Carlswood which is why I am thinking it's something I am doing wrong... but on ALL my tracks?

Also, shadows on car interiors look really poor too, they have done since we moved to the different type of CSM shadows from the original ones... personally, looking back, they seemed to be just as fast and generally better looking more of the time!? OK the new ones are nicer in up-close screenshots, but these moire patters and interior shadowing reduced to being really poor looking, offsets the benefits... for now at least :(

In Carlswood I turned off cast_shadow on most 'floor' materials to speed up the shadowmap render pass. That is the issue here it seems. Turning it back on for the 'road' in Carlswood also gives these issues. I should raise the smCor[] values indeed. Still, using cast_shadow=0 is possible for most materials (and faster!).
 
Still, using cast_shadow=0 is possible for most materials (and faster!).

It does cause problems for times around sunset right now - eg. the sun will be a little below the level of the guard rails on Carlswood, and the bottom half of the car ends up lit. Does the night TOD curve disable shadow casting from the sun? (maybe it should)
 

Latest News

Online or Offline racing?

  • 100% online racing

    Votes: 96 7.8%
  • 75% online 25% offline

    Votes: 130 10.5%
  • 50% online 50% offline

    Votes: 175 14.2%
  • 25% online 75% offline

    Votes: 349 28.3%
  • 100% offline racing

    Votes: 480 38.9%
  • Something else, explain in comment

    Votes: 5 0.4%
Back
Top