Depth Peeling, Deep Shadow Maps (NV30emu)

If you are already taking 9 adjacent samples, then you could implement my idea by spreading out the samples based on the formula I gave (and removing the attenuation based on distance).

I got your shader off of cgshaders.com. I figured that since you do 90 percent of what I want to do that I could play around and modify your code instead of coding up everything from scratch.

For some reason the program dies with an assertion which appears to come from cgc.exe because the file is cg.c

After printing a lot of dots it says:

assertion “Program != NULL” failed : file “D:\bld\cg\rel1.5\src\runtime\common\cg.c”, line 252

Can anyone from nVidia tell me what this means?

I have a GeForce4MX dual head. The CG Browser is installed and it appears to run fine.

you have enabled the nv30 emu, don’t you?

Yes, of course. The program fails with extension warnings if you don’t.

The problem was that the cg_compiler_exe registry key was pointing to an old version of the compiler that did not understand nv30fp.

I am going to post the cg shader code I wrote which implements my soft shadow map idea. It works really well! :slight_smile:

Originally posted by davepermen:
btw, i prefer your forest images. they look too cool [/b]


Thanks for the compliment. Rob did me the favour of hosting my Cg demo screenshots.

davepermen,

do you have any screen shot of the soft shadows?

John.

sorry, hadn’t the energy to continue coding during the last week, my dents hurt… i get new ones and i have to get rid of them (you know, the last ones, those 4 stupid ones that every second person needs to get out again… its now the time for me ouch)

and i have some other, major problems: getting my projective texture correct

damn i am tierd… damndamndamn

but i worked on the algo to get that ****in think working in 1 pass, run some tests at work to test the register combiners for correctness with help of an emulator. funny to code your own register combiners wich you then can feed with some data to check if some output acts like a simple operator<(unsigned int,unsigned int)
(and takes long to check all possible unsigned ints against all possible unsigned ints, so i changed now to a p4 2giga wich now runs those tests )