Page 3 of 180

Re: Supermodel SVN r308 Released!

PostPosted: Sun Mar 27, 2016 11:30 am
by Conversus W. Vans
As I've been playing Harley-Davidson with the latest SVN, I have noticed some nasty textures being fixed, which includes the cars and walking pedestrians. Please keep up the great work! Grateful to see some progress with Supermodel :)

Re: Supermodel SVN r308 Released!

PostPosted: Sun Mar 27, 2016 12:36 pm
by Joaquim Gonçalves
Go throw a wall and see what happens. :lol:

Image

Re: Supermodel SVN r308 Released!

PostPosted: Mon Mar 28, 2016 1:44 am
by sonic32
Hello,

svn 308 out,Ian - amazing to watch work.Vela improvement in Harley riders and expedite emu ...

you noticed that the brightness of light and dark in New renderer.
Floods renderer is 30% lighter. PC configured with respect to 30% .Scud Race sky on a dark blue.Mate Also this problem?
svn280 sky ok.

Re: Supermodel SVN r308 Released!

PostPosted: Mon Mar 28, 2016 3:03 am
by Ian
I know the brightness is different. In my lighting I am clamping the ambient + diffuse, where as in Bart's shaders he is not.
I am not 100% sure this is correct, a lot of it is guess work, and the shaders for the lighting are not yet finished. But before I think a lot of the games were oversaturated with regards to brightness. Ie in virtua fighter the beach becomes almost completely white. I can't imagine the designers would have made it that way. But I will be revisiting the lighting at some point.

As for harley, yes I was quite pleased with the improvements i made there :)

Re: Supermodel SVN r308 Released!

PostPosted: Mon Mar 28, 2016 4:45 am
by sonic32
Thank you for the explanation, New rengen inprogres, constantly improved.

Thank you Ian.

Re: Supermodel SVN r308 Released!

PostPosted: Mon Mar 28, 2016 8:51 am
by Bart
Ian: Check out my update on Jan. 30, 2012 here.

My lighting equation is definitely wrong. I basically do this (ignoring specular and spot lighting):

Code: Select all
light_intensity = polygon_modulation_color * (sun_factor * viewport_sun_intensity + viewport_ambient_intensity)
final_fragment_color = fragment_color * light_intensity


Where polygon_modulation_color is the RGB value extracted from the polygon header, sun_factor is the projection of the sun vector on the vertex normal (i.e., dot product of the light direction and normal), and fragment_color is either a raw texel color value or the polygon color for un-textured polygons.

Note that OpenGL's lighting equation is additive to the "material emission" component, which in our case corresponds to polygon_modulation_color:

Code: Select all
light_intensity = (material emission) + (global ambient)*(material ambient) + [(light ambient)*(material ambient) + (max{L.N, 0})*(light diffuse)*(material diffuse) + (max{H.N,0}) *(light specular)*(material specular) ]


This is something I've long wanted to investigate and wish I had time. I thought I had tried something similar to the GL equation but it's worth a re-visit. I just realized that by making the lighting additive to the underlying polygon color, the illumination of the castle and bridge battlements in Scud Race's expert course would likely be fixed (it currently looks completely black on the initial approach because the sun light component drops to 0 there).

Re: Supermodel SVN r308 Released!

PostPosted: Mon Mar 28, 2016 9:09 am
by Ian
Which part, about the specular?
I really haven't got around to looking at it yet. But I guessed that the bit in the header that you guessed was the specular bit might not actually be the specular bit. My gut says this because the road in Sega rally isn't supposed to be shinny ? :)

Re: Supermodel SVN r308 Released!

PostPosted: Mon Mar 28, 2016 9:16 am
by Bart
Ian wrote:Which part, about the specular?
I really haven't got around to looking at it yet. But I guessed that the bit in the header that you guessed was the specular bit might not actually be the specular bit. My gut says this because the road in Sega rally isn't supposed to be shinny ? :)


No, about why I un-clamped the lighting equation. Note the shadows in Daytona 2.

Re: specular lighting, it's kind of a mystery, and Sega Rally 2 seems the odd one out. Specular lighting is easily identifiable in Scud Race -- it is used on the metal surfaces of the cars as well as the spinning Sega Saturn logo on the first stage. This is what helped identify the bit. I'm fairly confident in its identification despite the effect it has on Sega Rally 2. Model 3's specular lighting equation is almost certainly not the same as OpenGL's (in terms of how it interprets the specular factor).

Also, if you watch actual Model 3 footage of Scud Race's Beginner Night course played with the Ferrari F40, you will observe an interesting effect on the vehicle's spoiler at the very start of the track when it is under the airport terminal. This effect doesn't work in Supermodel and I suspect it is related to specular lighting.

Re: Supermodel SVN r308 Released!

PostPosted: Mon Mar 28, 2016 9:20 am
by Ian
If 0x800000000 in header[0] is specular .. it seems a weird place to put it, given the fact the rest of DWORD all the data is vertex related. But you maybe correct. Again this is it my gut speaking :)

Re: Supermodel SVN r308 Released!

PostPosted: Mon Mar 28, 2016 9:47 am
by Bart
Ian wrote:If 0x800000000 in header[0] is specular .. it seems a weird place to put it, given the fact the rest of DWORD all the data is vertex related. But you maybe correct. Again this is it my gut speaking :)
'

True, but the value of what I interpret as the specular lighting field seems to be correlated with the expected shininess of a surface. Maybe header word 0 contains a lot of unused/reserved space (the sequence numbers might have no functional purpose, for example). I always thought it extremely peculiar that the Real3D Pro-1000 API has no specular lighting support. Perhaps this was bolted on to the Model 3 GPU as an after-thought?