CitroenCX 3D Model & Hardware Shaders

The place for artists, modellers, level designers et al to discuss their approaches for creating content for OGRE.
Post Reply
User avatar
TheGilb
Halfling
Posts: 71
Joined: Sun Oct 06, 2002 11:19 pm
Location: UK
Contact:

CitroenCX 3D Model & Hardware Shaders

Post by TheGilb »

This is my first car - let me know what you guys think! I'm actually an amateur programmer with enough C/C++ experience to be able to appreciate most things. I'm also fairly well versed in the ways of Cg and am fairly comfortable coding my own shaders for my GeForceFX 5900. I'm working on getting the shaders on this model into OGRE but it's proving to be a little tricky :roll:

Tools used are:
* Photoshop to prepare my blueprints
* 3dsmax for the main modelling + 3dsmax exporter
* Ogre model viewer for previewing / debugging the model
* DeepUV for texture coordinate generation
* DeepExploration for file format conversion (3dsmax -> fxcomposer)
* Fxcomposer for composing the hardware shaders / parameter tweaking

test_citroen_cx
This is an offline render of the model. The total poly count for the main body of the car is 691 polys thus far and is in fact intended to be so low-res. Notice the fresnel falloff effect on the raytraced car body material. I also added a little glow filter for aesthetics, and also to approximate the effect of having a full-scene bloom filter accentuate the lights for that over-bright effect.
[edit]Image link removed[/edit]

fx_shot_01
Here is the model realtime shaded using pixel and vertex shaders in fxcomposer. The Cg code is adapted from an nVidia example and gives amazing control over the material properties. No fresnel term in this shader btw.
[edit]Image link removed[/edit]

fx_shot_02
Here is a much nicer shot. Notice the gentle reflection off the car bonnet and the chrome like appearance of the hubs. Your eyes may be fooled into thinking I am using a fresnel falloff effect here but I am not, it is just the diffuse colour from a nearby light.
[edit]Image link removed[/edit]

fx_shot_03
This is a side shot, still shaded in fxcomposer you can more easily see the look and feel of the vehicle. The reflection map is a cube map - which looks a lot nicer when you see the model in motion :) Here you can also see the worst of the model - some minor vertex distortion on the left wheel rim which I can only attribute to the conversion process from 3dsmax to fxcomposer using the .obj file format. Also some distortion in the reflection map is visible on the car doors due to the low mesh resolution around the door handle.
[edit]Image link removed[/edit]

Oh yeah, for those who want to know and / or care, this little thing started out its life as a Citroen CX ... :)

[edit]This post is really old and giving me a tonne of hits on my website even though this work is really dated. For those who are interested in the overview of the process I used, I leave the post up (Minus the image links which were deleted in a server crash :? )[/edit]
Last edited by TheGilb on Sun Feb 12, 2006 12:24 pm, edited 2 times in total.
User avatar
bana
Greenskin
Posts: 132
Joined: Mon Aug 02, 2004 7:40 am
Location: Austin, Texas
Contact:

Post by bana »

May I ask why you needed it so low poly? It seems like the model kind of suffers from it (roof and sides).

Good work on the lighting though, perhaps you could add some more textural data too (or is it necessary to have that low like the polycount?)
A proud member of the OpenFrag Coding Team.
http://coolhands.blogspot.com/
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Re: CitroenCX 3D Model & Hardware Shaders

Post by jacmoe »

TheGilb wrote:The total poly count for the main body of the car is 691 polys thus far and is in fact intended to be so low-res.
:wink:
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
TheGilb
Halfling
Posts: 71
Joined: Sun Oct 06, 2002 11:19 pm
Location: UK
Contact:

Post by TheGilb »

bana wrote:May I ask why you needed it so low poly? It seems like the model kind of suffers from it (roof and sides).
Well, to be honest, it was an experiment in the first place. Then I came up with a funny game idea that can use the model in an appropriate way. The mesh doesn't look _that_ bad when you see it from really far away ;-) (Or if you squint your eyes... :roll: )
bana wrote:Good work on the lighting though, perhaps you could add some more textural data too (or is it necessary to have that low like the polycount?)
Thanks, the lighting I'm most proud of. In honesty, I'm just glad the model even resembles a car! :-) I figured I wouldn't bother texturing it, but maybe you're right.. It probably could use some textures :-)
dorvo
Halfling
Posts: 68
Joined: Tue Nov 02, 2004 8:01 pm

Post by dorvo »

It looks cool. It kinda resembles the Delorian from the Back to the Future movies, except yours is blue. :D
User avatar
TheGilb
Halfling
Posts: 71
Joined: Sun Oct 06, 2002 11:19 pm
Location: UK
Contact:

Post by TheGilb »

Hey thanks dorvo I appreciate that!

I think when I manage to hook up with a good 3d modeller / texturer we'll be able to make quite a good team with my Cg shader skills and their ability to make good looking models ;-)
User avatar
bana
Greenskin
Posts: 132
Joined: Mon Aug 02, 2004 7:40 am
Location: Austin, Texas
Contact:

Post by bana »

Jacmoe: yes I saw that but I was just thinking that 700 polys is really low nowadays where TNT1's are rare :wink: I was wondering if you were planning on having several hundred of them all baked together or something to make a SimCity type game or such.
A proud member of the OpenFrag Coding Team.
http://coolhands.blogspot.com/
User avatar
TheGilb
Halfling
Posts: 71
Joined: Sun Oct 06, 2002 11:19 pm
Location: UK
Contact:

Post by TheGilb »

I figured there's no point in putting 30,000 polys in a model that's going to take up around 10% total screen space at any given point in time. Kind of like a micromachine :-)

All apologies for not properly explaining the true purpose of the model :-)

Anyway, my next one is coming soon, and I'm hoping to make this one much better, and kit it out with nice texture maps and some better shaders as this one may feature as a main attraction.. Dont hold your breath guys ;-)
Post Reply