Forums

Full Version: Graphical feature requests
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Notes from a conversation on IRC with rufsketch1:
* bloom doesn't seem to work on GT240?
* motion blur still isn't reimplemented
* only one specular/reflection control, need support for a proper specular/shininess map
* support for dynamic environment maps on cars, but static environment maps for track geometry
* support for adjustment of ambient light, sun light values per track

Also another note to myself since he's talking about adding more normal maps:
* the normal mapping currently uses a dynamic tangent basis computation, which is kind of slow, and could easily be precomputed instead
* support for a static, precomputed shadow map blob under the car (or better SSAO)
* support for precomputed AO maps on track geometry and cars with separate UV channels
joevenzon Wrote:* only one specular/reflection control, need support for a proper specular/shininess map

This is in trunk:
http://vdrift.net/Forum/viewtopic.php?p=12414#12414
wow! metallic paint jobs look amazing now.
if we were to split all the body-paint mesh parts into alternate meshes. we could more evenly apply paint styles from: matte, gloss, metallic, pearl.

without it affecting trim that is supposed to look plastic (window molding), or chrome (exhaust pipes maybe)

should that be a goal for future car creation?
zimluura Wrote:if we were to split all the body-paint mesh parts into alternate meshes. we could more evenly apply paint styles from: matte, gloss, metallic, pearl.

Why split them into separate meshes instead of just changing the specular map?
so that users can select a paint style (gloss,metallic,pearl) from within the game instead of having to make their own texture in gimp.

right now, if you want to paint your car gloss black you're mostly out of luck. you'll have to go into gimp to drop the alpha value of the misc1 texture.

might be able to do it by using the alpha mask from body00.png (in which all alpha areas are body-paint), and only applying a specular alpha value (predetermined 25% for gloss, 100% for metallic, 100% with varying rgb values for pearlcoat) to those areas. don't know how hard that would be to do though.



--
i think allot about the most desirable standards for car layout because... something i've been pondering for a long time is going through each car mesh and updating it to be more modular... maybe increasing the poly count a bit. maybe just a bare-bones interior, maybe rounding off curves and fixing proportions, maybe updating each model to have parts that break off. it would be mountains of work. but mindless batch operations go quicker for me than ones where i have to think seriously about design or try to replicate something from reality. but then, i'm not even 100% sure it would be ok license-wise to do so.
zimluura Wrote:right now, if you want to paint your car gloss black you're mostly out of luck. you'll have to go into gimp to drop the alpha value of the misc1 texture.

might be able to do it by using the alpha mask from body00.png (in which all alpha areas are body-paint), and only applying a specular alpha value (predetermined 25% for gloss, 100% for metallic, 100% with varying rgb values for pearlcoat) to those areas. don't know how hard that would be to do though.

We already have the ability to select from a set body textures, why not just add the ability to select from a set of specular textures? The car author could make paints of different glossiness available as different specular maps.
joevenzon Wrote:We already have the ability to select from a set body textures, why not just add the ability to select from a set of specular textures? The car author could make paints of different glossiness available as different specular maps.

that is do-able, but if the game is built to offer predefined specular levels in the interface (near the paint selection), you get 2 benefits:

1. a player can get any desired solid color paint job without touching gimp

2. car builders have fewer textures to make.

the downside is that it's more work for programmers, but that work can be done once, instead of once for each vehicle. and the texture count of each vehicle won't go up so there will be less data being downloaded.

various specular levels could be done as shared textures in the data dir, or generated by hand in ram. can ogl handle a 1x1rgba texture?

in theory, artists have less control. but players have more control. i also think, in practice, we'll see 40% of people doing gloss, 40% doing metallic, and the other 20% will be split between matte, flip/flops, and pearl-coats.
I'm going to back track here and tell you stuff you already know for a moment, bear with me. The specular map lets you define specular color (technically, the fresnel coefficients at zero degrees) in RGB and shininess (technically a microscale roughness term) in A. For car paint you're going to pretty much always want a white specular color (depending on the paint) no matter what the diffuse color is. Different types of paint could use different shininess values, though, like you mentioned for glossy versus more matte. Different parts of the car get mapped to different parts of the diffuse and specular textures. The diffuse texture (for cars) has diffuse color in RGB and a "this is car paint" mask in the A. The shader takes the selected paint color and applies it to the areas marked as car paint in the diffuse texture to get the final diffuse color. Breaking up the mesh isn't necessary to get different graphical effects because everything reads out of a texture and it gets put through the same shader regardless. Parts of the car that have a different material (think underbody, chrome exhaust, vinyl graphics, etc) will need to have different shininess values from the rest of the car. If we wanted to do something similar to the paint selection (although we could limit the choices if desired) but for shininess, we could do that by re-using the car-paint mask from the diffuse alpha channel to determine which areas to use a specified specular shininess value. That way you wouldn't have to make more than one specular map if you didn't want to.
joevenzon Wrote:...we could do that by re-using the car-paint mask from the diffuse alpha channel to determine which areas to use a specified specular shininess value. That way you wouldn't have to make more than one specular map if you didn't want to.

if i understand correctly, i was saying something similar with: "might be able to do it by using the alpha mask from body00.png"

so long as that's an approach that you like. would it allow a 2nd specular color picker for chameleon paints?
zimluura Wrote:so long as that's an approach that you like. would it allow a 2nd specular color picker for chameleon paints?

Yeah, I think that could be arranged. The shader can use the diffuse color or white to get the 1st specular color, and then interpret the standard specular color channel as being the 2nd specular.