Page 5 of 14

Posted: Sat Mar 24, 2007 7:38 pm
by ramon
Yeah. Or maybe not have if on 'the roof' it could be on the left or right of the craft - or should that be Port or Cherry sides?
Oh and yes, they are the escape pods - everything that's yellow won't be yellow when it's finished though.

Posted: Sat Mar 24, 2007 11:48 pm
by Cmdr. Maegil
I like the concept, but considring the annie's size, that isn't a comms dish...
It's more like a radiotelescope!

Also, the washed effect on the top side pannel looks cool, but (IMO) it could only be adquired if the ship had been left in the rain, under planetary gravity.

Posted: Sun Mar 25, 2007 12:20 am
by JensAyton

Posted: Sun Mar 25, 2007 9:57 am
by ramon
i do have a seperate specular map fortunately. I'll have to make a glow map though. I'd better study that thread a bit more.

@Cmdr. Maegil: lol, okay, it could be a little smaller.

Posted: Sun Mar 25, 2007 10:15 am
by Wolfwood
Darn, it seems that Oolite is evolving faster than I can keep up. I have no idea what specular maps and glow maps even mean... :?

Posted: Sun Mar 25, 2007 2:48 pm
by JensAyton
I said “glow map” in reference to the blue glow around the engines. I take it that’s just a light in the renderer, then?

Woolfwood: a normal texture specifies a single property of the model’s material at each point – specifically, its diffuse colour, or albedo. Specular maps, glow maps and other effect maps are auxillary textures specifying additional material properties.

The Shady Cobra example, for instance, replaces the normal diffuse texture with a pair of shaders, which use two textures:

Code: Select all

<key>shaders</key>
<dict>
    <key>cobra3_redux.png</key>  <!-- Replace this texture -->
    <dict>
        <key>textures</key>
        <array>
            <string>ahruman_charlie_updatedships_cobra3_diffuse.png</string>
            <string>ahruman_charlie_updatedships_cobra3_effects.png</string>
        </array>
        <key>vertex_shader</key>
        <string>ahruman_charlie_updatedships_cobra3.vertex</string>
        <key>fragment_shader</key>
        <string>ahruman_charlie_updatedships_cobra3.fragment</string>
    </dict>
</dict>
Here, ahruman_charlie_updatedships_cobra3_diffuse.png is a copy of cobra3_redux.png (this is necessary due to a limitation of Oolite), while ahruman_charlie_updatedships_cobra3_effects.png contains additional information used by the shader:
  • The red channel defines the intensity of engine glow effects.
  • The green channel defines the intensity of laser glow effects.
  • The blue channel defines self-illumination, i.e. parts of the ship which glow in the colour of the texture.
(There’s no particular logic to the order here, the channels were just used in the order I added effects to the shader.)

For specular lighting, i.e. shiny highlights, you need two bits of information: the smoothness of each part of the ship, i.e. how narrow the specular highlight should be (in OpenGL this is unhelpfully called the shininess), and the intensity of the specular highlight. It’s possible to combine these into a single value, at the cost of control. It’s also possible to define the colour of the highlight, although generally you want either white (for plastic, glass or varnish) or the colour of the diffuse channel (for metal).

A glow map is simply a texture whose pixel values are added into the total colour of a fragment, without regard to incident lighting. This allows for things like glowing windows and engines. All the channels of the Shady Cobra effect texture are essentially glow maps, although they don’t specify the colour of the glow directly.

Posted: Sun Mar 25, 2007 2:51 pm
by Flying_Circus
I think, some time ago (i.e. like when I was last browsing on here), I suggested we have a standard 'grab bag' of bits and bobs that we could attach to the outsides of ships, to make customised variants. If we had a range of default 'Lance & Ferman' exterior coms dishes, for instance, we could just stick one to the outside of any ship we wanted to.

I like the paint job, however. To be fair, the spillage could have occured inside a station, under simulated gravity. The stations spin so fast, for their size, that they'd be generating well over ten Gs of simulated gravity.

@Selezen: I don't know if this is what you mean by 'overlapping plates':
http://wiki.alioth.net/index.php/Image:Text_tut24.png

... if so, the article explaining how that is doen, is here:
http://wiki.alioth.net/index.php/F_C_Textures

@CaptKev - may I suggest using mirror planes, to reuse as much of your texture as possible? so, rather than texturing all eight segments of an octagonal ship, for instance, you could mirror plane it twice (once on x and then on y, or once on y and once on z, depending on it's geometry). That way, you can just texture realy big versions of one green and one red segments, which then repeat around the ship. That way, you are using as much of your 512x512 texture to actually skin the ship as possible.


Now, I may look into this glow mapping, myself.

Now, about bump maps....

Posted: Sun Mar 25, 2007 3:59 pm
by Captain Hesperus
Cmdr. Maegil wrote:
Also, the washed effect on the top side pannel looks cool, but (IMO) it could only be adquired if the ship had been left in the rain, under planetary gravity.
It could have been worse! It might have been an almighty bird 'message'. :lol:

Captain Hesperus

Posted: Sun Mar 25, 2007 4:28 pm
by JensAyton
Flying_Circus wrote:
@CaptKev - may I suggest using mirror planes, to reuse as much of your texture as possible? so, rather than texturing all eight segments of an octagonal ship, for instance, you could mirror plane it twice (once on x and then on y, or once on y and once on z, depending on it's geometry). That way, you can just texture realy big versions of one green and one red segments, which then repeat around the ship. That way, you are using as much of your 512x512 texture to actually skin the ship as possible.
Yep. Take a look at how the standard (or freaky) thargoid does it.
Flying_Circus wrote:
Now, about bump maps....
That’s harder. Traditional greyscale height maps are hard to implement efficiently in a shader. The standard solution is normal mapping, which uses three channels but is more precise and can be implemented more efficiently. However, the more common form, “tangent space” normal mapping, requires the host application (i.e., Oolite) to provide tangent information to the shader, which it currently doesn’t do. “Object space” normal mapping should be possible, however. There is a tutorial on object-space normal mapping here (warning: contains gratuitous computer-generated boobies). It’s Maya-based, but the concepts may be adaptable to other 3D apps, and there will certainly be ways to achieve the same thing in C4D or Max. Wings won’t cut it, but there may be stand-alone tools to do similar things. I haven’t really looked.

An important thing to note, though, is that such tools – especially ones for object-space normal mapping – don’t work like hand-painted bump maps; they’re generally based on making a high-detail model and a low-detail model, then “baking” the difference between them into a normal map. This provides much better simulation of detail, at the cost of having to make two models (with equivalent UV mappings).

On the other hand, it is possible to convert a bump map into a tangent-space normal map by applying filters, and to convert tangent-space normal maps into object-space ones.

Posted: Sun Mar 25, 2007 4:31 pm
by CaptKev
Thanks Flying Circus, the texture was based on Selezen's UV map and not my own. I do agree with you about the mirror planes (I didn't use them with Stingray, but I have with the Battlestar).

Posted: Sun Mar 25, 2007 5:23 pm
by ramon
Ahruman wrote:
I take it that’s just a light in the renderer, then?
Yes and no.
With StudioMax you can light a scene and then 'render to texture' which renders all the shadows/lights/everything as a single diffuse colour texture map. Good hey!
So the image shown looks like it's been lit by the boosters but in actual fact (as far as the computer is aware) it's just light blue in colour.

Posted: Sun Mar 25, 2007 5:33 pm
by JensAyton
ramon wrote:
Yes and no.
With StudioMax you can light a scene and then 'render to texture' which renders all the shadows/lights/everything as a single diffuse colour texture map. Good hey!
So the image shown looks like it's been lit by the boosters but in actual fact (as far as the computer is aware) it's just light blue in colour.
Generating a separate glow map ought to be a snap, then.

Posted: Sun Mar 25, 2007 6:30 pm
by JensAyton
I’ve been looking for tools for normal map generation. ORB seems promising, but is Windows-only, closed source, and requires OpenGL extensions Virtual PC doesn’t support, so I can’t test it. :-/

Posted: Sun Mar 25, 2007 6:46 pm
by Griff
ooh, this sounds really exciting... these shader glow maps, are they greyscale images that you map onto the model using the same UV's as for the hull texture, with the lighter bits in greyscale image being more 'glowy' than the dark bits?
also, that's a really amazing ship you've made there ramon!

Posted: Sun Mar 25, 2007 7:04 pm
by JensAyton
Griff: a greyscale map is possible; this is what I refer to as an “illumination” map in the case of the Shady Cobra. It basically allows you to cast white light on any part of the model. A full-colour glow map provides more flexibility, at the cost of texture memory; the shadified Python Class Cruiser uses this. The Freaky Thargoid OXP uses glow maps, with an additional animation modifier.