SpeedTree Demo Using Cg

Andergum

Newcomer
I saw this at the nVIDIA developer site. Looks pretty sweet!

"Interactive Data Visualization (IDV), a developer of real-time nature tools for film, video and game developers, debuted its Cg-enabled SpeedTree product line during SIGGRAPH 2002. By rapidly integrating Cg into their OpenGL graphics engine in the days following Cg availability, IDV was able to deliver compelling special effects, such as realistic swaying trees, adjustable wind, dynamic shadows and running water on a very tight development schedule."


http://developer.nvidia.com/view.asp?IO=Cg_SpeedTree

Just spent a bit of time playing with the demo. Very cool indeed! The shadows from the moving leaves on the trees playing on the ground and the shack etc look really cool. :)

Adjusting the wind effects is neat too. Especially how it affects the trees limbs and leaves. Nice!
 
They've been pretty quick off the mark to get Cg integrated like that. It is a pretty cool demo, very realistic.
 
Kristof said:
Just curious what driver and settings are you guys using ? Keeps crashing here :rolleyes:

K~

Had the same problem (GF4, 30.30 drivers)

It started to work when i disabled FSAA and Aniso (Rivatuner)
 
Which API and/or extension does it sue ?

DirectX ?
OpenGL + ARB_VERTEX_PROGRAM ?
 
It's working OK on my GF4 30.30 dets. But then again I haven't got Aniso or FSAA enabled. It does freeze sometimes though but that may just be SETI getting cycle hungry.
 
Found it seems like the issue is related to desktop resolution and color depth, play with those to get it to work. And its OpenGL.

K~
 
From IDV faq page:


2. What kind of hardware/platform do I need to run software developed by IDV?


You will need an x86 architecture machine capable of running Windows 98+ or NT 4.0+. We recommend a good 3D graphics accelerator as well. IDV's software takes advantage of hardware acceleration, so the better hardware you have, the better our software runs and the more detail you can interactively display.

From window I get when I try to launch the installer for the SpeedTreeRT Demo:

The operating system is not adequate for running SpeedTreeRT Demo.

I'm using Windows ME, all the latest patches, 1280x1024x32. Anyone get this to run on a similar setup?
 
The thing didn't install for me under WinME!!! It said that the OS didn't fit...

So I installed it under WinXP, tried to run it and it crashed :(

So I went to WinME and ran it from there (the WinXP installation) and it worked perfectly!! Very very nice demo!! :D

After a couple of executions, it suddenly starts to load the scenes very very slow, maybe it's a bug in the demo, donno...

Anyway, my specs:
P4 2ghz
512mb RDRAM PC800
GF4TI 4600
WinME
DirectX 8.1b
Leaked Detonators 30.30
AA & AF disabled
Desktop Resolution: 1024x768@32bit
 
For anyone else who has this problem, I'll save you the research:

add " /A" (no quotes) after the filename for the setup exe file you download to skip the OS detection problem.

The problem now seems to be a whole host of OpenGL extensions that aren't supported, I guess not surprising as Cg only compiles for NV20+ (EDIT: atleast in OpenGL) currently from what has been said here. I would appreciate an education about them if anyone has the time:

Missing depth texture extension
Missing shadow extension
Missing vertex array range extension
Missing fence extension
Missing occlusion extension
Missing register combiners extension
Missing texture rectangle extension
Missing vertex program extension


I have a pretty good idea about a lot from discussions here, but I don't know what the texture rectangle extension or the fence extensions are at all, and am pretty hazy about the depth texture and shadow extension though I have a beginning of an inkling that they've been discussed.

But, atleast this should work to resolve the problem for GF3 and up owners using Windows ME if alexsok is anything to go by.

EDIT: well, found the opengl extension registry and am learning what NV extensions these correspond to, though an analysis of what they are used for in the demo would be nice, along with perhaps some knowledgeable explanation that is clearer than these texts. The main thing I've learned so far is that Pat Brown is a bit of a smartass...about "Additions to the WGL specification": "First, close your eyes and pretend that a WGL specification actually existed. Maybe if we all concentrate hard enough, one will magically appear." :LOL:
 
How to make it work

I got the demo to run when i unchecked the 16-bit color checkbox.
If you don't get it to work, not a big deal. The demo is not that good anyway. Explosion and fire effects look bad.

matt
 
I agree, the fire sprites and explosions look out of place in the demo. The shadows, trees, and wind effects are super sweet though, can't wait for games to start looking like that outdoors. Tribes in that kind of environment would rock.

Aw man, I just had a Terra Nova flashback, I miss that game - time to reinstall it. :D
 
NV_fence is an extension that makes it easier for software to synchronize command execution. Basically, it's there to prevent the CPU from waiting on the graphics card.

Since Flush merely assures the user that the commands complete in a
finite (though undetermined) amount of time, it is, thus, of only
modest utility. Finish, on the other hand, stalls CPU execution
until all pending GL commands have completed. This extension offers
a middle ground - the ability to "finish" a subset of the command
stream, and the ability to determine whether a given command has
completed or not.

In other words, allows for better load-balancing between the CPU and GPU in software.

NV_texture_rectangle exposes support for non-power-of-two dimension textures:

Non-power-of-two dimensioned textures are useful for storing
video images that do not have power-of-two dimensions. Re-sampling
artifacts are avoided and less texture memory may be required by using
non-power-of-two dimensioned textures. Non-power-of-two dimensioned
textures are also useful for shadow maps and window-space texturing.
 
Well, I understood that much from the registry, though I still don't know how effective the fence extension is at achieving its goal, and I had the impression that the texture_rectangle was targetting something else besides because the support for non power of two textures wasn't unique to it. Correction and further detail still welcome, PM or here if it relates to the demo.

Actually, now that I think about it, checking off options that seem to be associated with some of the functions didn't change the list, so it may be a static check and not an actual indication of what the demo uses (except fence which I'd expect the Cg compiler to use often in about all circumstances).
 
Back
Top