tzlaine wrote:
2) Have a look at this:
http://www.eveonline.com/devblog.asp?a=blog&bid=732
It's an EVE-Online Dev Blog about how they use their textures/materials system to provide a single model with lots of different looks. A lot of it doesn't apply to our use case, but it's still food for thought.
Thanks, very interesting. Good reference as well.
3) Do we need to add a decal layer to models? That would be the easiest way to add colored patterns like "player colors - variation {1,2}" from your recent post.
Yes, I think that would be the ideal way. Color texture rgb + decal pattern as alpha, the rest is done by code.
4) We have a glow pass, but we currently don't use it for ships. We currently only use the glow pass to make the star shine brightly. The glow pass is a fixed cost that we have to pay every frame right now. Adding glowing materials to a ship is therefore "free". I say this because, as cool as the glowing bits of your model are, if the glowing bits are occluded, they won't shine around the edge of the occluding object like the star does. I don't know if this is even an effect you want to use, I'm just reminding you it's there for you if you want it. Just to be clear -- I'm not talking about the glow texture we currently use for our ships. I'm talking about glow like we use for the star -- colors that "bloom" out into surrounding pixels.
We should definitely try it out! I did a mockup
here. This should work even better with the updated glow maps. It's important to not overdo it though.
5) How flexible is your exporting capability? I ask because right now, we use 4 textures (color, glow, normal, ans specular/gloss), but we only use a total of 11 channels in those images. (As an aside, we are currently ignoring the gloss channel too.) Modern video hardware stores everything as RGBA in video memory, so compressing these channels down to 3 RGBA textures would be better, and that would leave us one free channel for a decal map (as in #3 above). We'd need to add the player/empire color as a parameter to the shader, and it could use the map to determine where to apply the color. If I need to, I can write an ImageMagick script that will take our current texture set and create a packed one like I'm proposing. If it's possible for you to do at export-time, though, all the better.
I can easily do it myself.
I would suggest something like this:
1. rgb -> diffuse red, diffuse green, diffuse blue; a -> decal
2. rgb -> normal x, normal y, normal depth; a -> specular
3. rgb -> glow red, glow green, glow blue; a -> gloss
We could by the way save 2 channels in the third map and maybe use those for something else(more decals?), if the the shader would take in a b/w image and use this to determine the intensity of the self-illumination, but take the color from the color map.
Then we could do something like this:
1. rgb -> diffuse red, diffuse green, diffuse blue; a -> specular
2. rgb -> normal x, normal y, normal depth; a -> gloss
3. rgb -> decal 1, decal 2, decal 3; a -> glow
6) The ships that you have been creating are probably too big. Instead of my scaling them down, could you scale the Guardian model down so that it looks reasonably-sized to you when you run with --test-3d-combat? Keep in mind that, even though it may not be technically possible, we'd like to shoot for hundreds/thousands of ships fighting in a single system at the same time. Try to keep the scale of future models with that in mind.
No problem, will do.