Hi all, I'm new to 3d graphics in general, please help, because I'm not even sure I'm using the correct terms.
I need to create terrain models to use them in a real time visualization, I can't use large textures, so I would like to color the vertices of these models from a landsat image (obviously the models will have enough vertices to produce a decent result).
First: is this technique called "light baking"? or "texture baking"? or "vertex color baking"?
Second: I asked in many application-specific forums on how to do this with that package, it seems that the ability to assign vertex colors from a bitmap is quite uncommon! So far I've found that only Lightwave and 3ds Max can do that, but I was looking for something cheaper.
I was suggested to look at XSI for its Ultimapper tool, which can do what I was looking for, can you confirm this is the right tool? any other suggestions regarding 3d modeling packages with this feature?
Here's a link to a movie made from Lightwave, in the first part of the movie you can see what I'm looking for: the guy takes a shape, it applies a bitmap to the vertex colors and then subdivides the mesh getting very close to the original bitmap drawing. In lightwave this is called "textured point".
ftp://ftp.newtek.com...xturedpoint.mov
Do you have other suggestion on how to obtain this result? I have to use as much real geometry as possible, because the point of view will be very close to the terrain.
Thanks
Marco
vertex color baking (or, how can I assign vertex colors from a texture?)
Started by Mompariglia, Oct 24 2006 07:43 AM
6 replies to this topic
#1
Posted 24 October 2006 - 07:43 AM
#2
Posted 24 October 2006 - 08:42 AM
All you need to do is to read out the texture color at the vertices. The UV coordinates are directly accessable without conversion. Than bake this color into the vertex color channel.
With a program this is a moderate complex task. I don't know a tool to do this though.
With a program this is a moderate complex task. I don't know a tool to do this though.
#3
Posted 24 October 2006 - 12:11 PM
It's pretty simple to do?
You just need to understand how texture coordinates work. Texture coords are normally refered to as UV, they are normally a floating point number. 1 = U * texture width, 1 = texture height * V. They can be outside of the range 0, 1 for repeating textures or mirroring.
Something like (but make sure you understand as i might of made a mistake ;) ):
You just need to understand how texture coordinates work. Texture coords are normally refered to as UV, they are normally a floating point number. 1 = U * texture width, 1 = texture height * V. They can be outside of the range 0, 1 for repeating textures or mirroring.
Something like (but make sure you understand as i might of made a mistake ;) ):
for each texture coordinate
{
int u = abs(coord.u * texture.width) % texture.width;
int v = abs(coord.v * texture.height) % texture.height;
color = texture.data[u * texture.width + v];
}
#4
Posted 24 October 2006 - 01:44 PM
Mmh ok :unsure: but how can I translate this code into coloured vertices? Sorry, but I'm not a programmer.
#5
Posted 24 October 2006 - 01:52 PM
You're asking the wrong place; this is a programming forum.
#6
Posted 24 October 2006 - 01:57 PM
:sad: I know, but this issue is off-topic everywhere: it is not considered in 3d modeling forums because it is used by programmers in their real-time engines, and it is not considered in programming forums because it's a 3d modeling thing :wallbash:
#7
Posted 24 October 2006 - 02:34 PM
You need to go back to the modelling forum and ask the correct questions.
Since Lightwave and 3DS Max do it, its definately in that domain.
Sounds like most professional level tools do it. You can't get everything for free.
Since Lightwave and 3DS Max do it, its definately in that domain.
Sounds like most professional level tools do it. You can't get everything for free.
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users











