Most modeling tools support reprojection baking (hunting down what they call it can be hell though), generating normal maps is the best example of reprojection baking. This stuff should make sense to a programmer or at least give him enough clues on where to look. In the vertex shader you transform a model into world space, once you have that you use the position to get a noise value and scale that noise value by how much jitter you want, then change the world space vertex position. The vertex shader bit for polygon jitter should be more up your friend's alley. Refer to this post by m4ttbush (developer) for more information! Simpler models like the daggers are probably modeled in a more traditional manner though. Either that or they are decimated then touched up, although I'm fairly confident that it is the former. Models I believe are sculpted at very very high polycount and then remodeled using retopology techniques. The textures don't have low color depth, the colors are actually posterized as a post processing step but the posterization is done non linearly and with different emphasis on different colors If you look at crash bash for example, the vertex jitter is very hard to notice because all the minigames take place only on the small arenas, so they could have more room for floating point precision. The PSX's gpu had low float precision which meant they could have minigames with tiny arenas and a fixed camera, and reduce the jitter, or bigger and more vast environments at the cost of lower precision and thus, more jitter. This is the true reason that vertex jitter happened back in the days, like on the PSX. Vert = floor(vert * precision) / precision For polygon jitter, it isn't a noise function, they actually downsample the vertex coordinates in object-space (so that vertices won't jitter if the camera moves, only if the object itself moves), like this float4 vert = mul(_Object2World, v.vertex)
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |