Members - Reputation: 789
Posted 02 July 2012 - 04:00 PM
So in the plane of a triangle we have the texture space or tangent space.Where we can move the texture in all directions,rotate it etc.
But in my book says: if we use texture space for normal mapping,we will get a triangulated appearance since the tangent space is constant over the face of the triangle.(This is if we use tangent(or texture) space per TRIANGLE!).
So how does using a tangent per vertex fix this? And what does "triangulated" mean?
I can't understand why rotating and translating the texture using just texture space per TRIANGLE.
Crossbones+ - Reputation: 9203
Posted 02 July 2012 - 06:15 PM
It appears that the gentleman thought C++ was extremely difficult and he was overjoyed that the machine was absorbing it; he understood that good C++ is difficult but the best C++ is well-nigh unintelligible.
Crossbones+ - Reputation: 4535
Posted 02 July 2012 - 09:22 PM
The Geometry shader is able to do that, but it breaks a lot of concurrency which is the strong point of GPUs, and hence that's why GS are so slow and rarely used (that, plus other factors in the GS break parallelism).
This is also why two triangles can share the same vertex, yet duplicate that vertex because they need totally different normals (unless you're using carefully layed out vertices using flat shading).
A cube only needs 8 vertices yet the traditional way of rendering it is using 24 vertices (again, unless you're using flat shading and carefully connected vertices; the order becomes important because the normal of the leading vertex, which is the first vertex being processed, is used).
Funny though, because you realized about this problem with Tangents, but not with Normals
Members - Reputation: 335
Posted 03 July 2012 - 06:56 AM
My open source DirectX 10/11 graphics engine. https://sites.google.com/site/dawoodoz
"My design pattern is the simplest to understand. Everyone else is just too stupid to understand it."