Racer v0.9.0 RC3 released

Ruud

RACER Developer
Is anything being done with tracked? It has a rather annoying feature, i.e. that it
continually writes to QLOG. This slows down loading time tremendously as it has
to open and close the QLOG for each error it records. I noticed this while loading
a track with 660 dofs and no textures, while tailing the QLOG. It would be alot
better if it stored an array of errors in memory and then wrote it all to the QLOG
in one batch. It would reduce loading time considerably and leave the QLOG
closed until the track was loaded in tracked. Why this is such a big problem?
The 660 dofs have already taken an hour to load and it is only at 466 at the moment.
Should pretty much prove my point..

Other than that, still using 089 with the 090rc3 structure. Works fine. And nice
to see the updated Carlswood being used. I hope to add bumpmaps and some
vegetation along the straight before a final release, but that depends on when I
get the new RAM.
 
TrackEd is a pain in the bottom.

For those that use 3DS Max I'm writing a few scripts, as has Camsinny.

Along with Some1's DOF export tool in theory, you can get the track, geometry.ini, splines and dof's themselves put to the folder. The flags are set per object in 3DS Max so that is elegant too. LOD's too.

Once I'm done with the spline script (nearly there but not much free time) then it's really just a case of doing something to grab xyz camera coords from Max along with other properties and writing them out properly.
In theory we can use animation for the camera too, to set the FOV, movement etc and put that to the files.


In theory we should be at a point where you can start with an empty folder, press about 5 buttons (and wait a minute or so between some steps) and you get the full track ready to go!

Then a final 'splitter' event could be done at say 750m interval or something, but I think generally we should be managing all the LOD and optimisation in Max!



Then all we need to do is make something similar for Blender. It'd be good to have a suite of tools that work for free software too. Free Racer having good dev tools for a free 3D app makes a lot of sense imo... might take ages to happen but it'd make sense :D

Dave
 
I am having no peoblems with tracked, loaded over 300 dof's in less than one minute while generating a new cache and there were about 27 kb. of Qlog errors.. Also splined 14 km of track with no problems oher than it took me about 5 minutes
 
.. there were about 27 kb. of Qlog errors..

Tracked is slow when there are lots of errors, as was in this case.
660 dof's without shaders caused tracked to spew out missing texture errors for
every single dof, some with more than one texture missing. The size of the QLOG
when finished loading was more than 3Mb (it was a conversion WIP).

And as Alex Forbin pointed out, track and car loading is painfully slow in the menu.
I ditched my old XPS and set up a new box with 8Gb Ram and a midrange Nvidia
so I could run 090rc3 but loading is still slow.
 
TrackEd doesn't cause problems per se.

It's just not suited to development work. If you only ever use it in passing once and then never touch a track again great.

But going from Max to TrackEd to Racer each time you want to check some new flags, models or whatever else, it's a REALLY slow and arduous process as all the work TrackEd does is lossy.
Ie, flags being set have to be set the 2nd time around, 3rd time around etc... storing the flags on the original geometry in your authoring app is a much more logical place to put that effort/work/data!

Splitter these days is probably the worst thing to use, since we end up with more draw calls which slows rendering than is optimum in most cases. The author is best doing splitting manually in their authoring app where they can optimise draw calls and what is seen at different places, also adding in LOD's appropriately to really get the best FPS performance.
Splitter was great back in the old days with 050 graphics, but with todays shader/rendering system it actually costs FPS on most small tracks. Ie, Carlswood is small enough to not need splitting at all imo, it's total polygon count is not even a problem for hardware that can run Racer these days!

Dave
 
I agree that some new tools are desirable and I usually only use tracked once to set the splines, timelines and cameras. With the dof exporter in Blender I bypass tracked and simply add the dof to the folder and geometry.ini and then do the shader and I'm done. Simple!
 
I would suggest thinking about upgrading your system. Can you run most of the newest games like Battlefield3, Max Payne 3 etc?
Racer is currently very sensitive about the system configuration...
Yeah, You could be right, I have Windows 8 and this system literally sux. Combined with automatically installed drivers it could be my matter.
Really, don't upgrade W7 to W8 - i can't even add my cable KKL to check and diagnoze my car, because it doesn't accept drivers. On W7 it was working. So yes, I'll reinstall my system and get back with information if it was helpfull.
About games - lately I don't play much, but I managed to run Crysis, NFS HP, NFS Run, all Assassin series.

P.S. sorry for late answer :)
 
Some thoughts.The file racer.ini seems to be completely bogus. If you change
the default values everything breaks and the results are totally unpredictable.
There are way too many errors to mention, but all in all, since everything now
is tied to CG and each function requires the next to work, almost as an array
bloom->shadow->blur->autoadjust->whatnot you cannot simply change blur
from FBO to OpenGL as it breaks the mentioned array. And that is only ONE
of many "errors" (features?). The options that break Racer should either work
as intended or be removed altogether (IMNSHO).

Auto_adjust breaks emission. I use emission on banner-ads, street lights,
shop windows and stuff like that, but if I set time to 2100 nothing is lit since
auto_adjust turns OFF emission and the whole point is lost.

EDIT: This does not happen on all tracks. Why? What?

Shadows are broken and give unwanted effects. An X-based street lamp is
shadowed within the X which really gives away that is an X-based shape.
The only way to bypass this is to turn off shadows for the street-lamps but
then they look like alien zombies without shadows.

Objects that use emission should be allowed to keep emission ON, and
shadows should be ignored for objects with emission set, at least so that
it does CAST a shadow but is not shadowed itself, i.e. is not shaped by the
internal shadowing.

There is so much more to say, but this should suffice for now. These errors
(features?) are really annoying and take away much of the joy of making
tracks. Hope they are fixed before a final 090.

EDIT: It seems like all these so-called "errors" (sorry about htat) are related
to GPU power.. less power, less features, more power, more accurate..
 
Self-shadow casting on the X type street lamps is an issue but you can avoid it with the right shader tweaks. The problem then is that the street lights in shadows from other items (like buildings) won't get shadowed, so they then appear to glow in the shadowy areas.

The best solution to that issue is making the street lamps with 3 edges. The triangle count is never higher than an X tree but it's a proper solid.

Indeed best to make a nice quality street lamp and then LOD down to 3 sides at say 100m away.



The racer.ini stuff is a bit odd with regards to graphics. I think it could be cleaned but generally you shouldn't need to touch anything in there these days, and if you do expect things to break and remember/comment what you change :D


Lots of it is probably still important for the NO CG version of Racer too, so some of it might still be useful for those users!



I generally set live envmap on, turn it to one side per frame update which seems a great balance for the visual quality vs FPS.

I also turn down the sampling (motion_blur.samples=4) to 2 sometimes, the FPS are better and visually it looks ok still.
When you want to do a photo shoot turn it up to 16 or so and the visual result is amazingly smooth and crisp!


Cheers

Dave
 
Alex,
It would be better, imho, to have the special.ini surfaces section have a sound that is selectable from the track folder with volume adjustable rather than one in racer.ini.
Ruud, note the above.

Is that car going to be released?
 
Alex,
It would be better, imho, to have the special.ini surfaces section have a sound that is selectable from the track folder with volume adjustable rather than one in racer.ini.
Ruud, note the above.

Is that car going to be released?
Hello Bob,
yes and no....
If i can get him to a more or less good handling/feeling, yes, but i never can get a permission, because fm3 shift model....
Will see, i think i know a spanish site....:whistling:

...to sound...i only need the sound...how it can be added is a thing for ouer experts, not me...

Alex
 
Thanks, what a brilliant solution :D

If you make an appropriate normal map you can even round them off pretty well so it doesn't even look that bad except if you get really close up and see the point where it meets the floor and it's obviously 3 edges.

That said, the LOD system is probably more elegant if you are happy to spend the time doing that.

Having normal maps means more processing needed all the time, both close and far. Geometry isn't a huge issue if you LOD and that way you can use a single faster shader (one texture) for the street lamps too, both near and far.


So two possible routes to go for nice looking street lamps.

I'd go with the LOD method I think. LOD clumps of say 200m worth of streetlights then turn them off after 1000m, so you have maybe 4/5 passes total for all your streetlights and never more than a few thousand polygons as everything after about 200m is just 3 edged stuff.


Dave
 
The changes I made to motion blur are afaik all in this function.
racer\data\renderer\fullscreen_shaders_hdr\motion_blur.cg
Code:
float3 MotionBlur3(sampler2D sceneMap,sampler2D velocityMap,float2 tc0,float texWidth,float texHeight)
// Blur along velocity
{
  const float velScale=1.0;
  float2 vel=MB_GetVelocity_SingleChannel(velocityMap,tc0,texWidth,texHeight);
  float3 color;
  // Color when no blur is used
  float3 nonMBcolor;

//vel=MB_GetVelocity_SingleChannel(velocityMap,tc0,texWidth,texHeight);
//return float3(vel.x,vel.y,0);

  // Get unblurred sample
  //nonMBcolor=tex2D(sceneMap,tc0).rgb;

  // Sample along line
  const int numSamples=32;
  const float oneOverSamples=1.0/float(numSamples);
  int    i;
  float2 tc=tc0;
  for(i=0;i<numSamples;)
  {
    color+=tex2D(sceneMap,tc).rgb;
    i++;

    // Next sample
    tc=saturate(tc+vel*oneOverSamples);
    vel=MB_GetVelocity_SingleChannel(velocityMap,tc,texWidth,texHeight);
    vel*=velScale;
    if(abs(vel.x)+abs(vel.y)<(0.001*i))
    {
      // Hitting low-velocity object; stop sampling
      break;
    } else
    {
      // Keep texture coordinates within 0..1

    }
  }
  //color/=numSamples;
  color/=i;

  // End color (average)
  return color;
}
(just paste over the MotionBlur3 function, or compare them side by side if you want to see what I changed, or call this MotionBlur4 and edit bloom_shadows_blur_f.cg or whichever fs_filter= to use MotionBlur4)
 

Latest News

Are you buying car setups?

  • Yes

  • No


Results are only viewable after voting.
Back
Top