Vertexe zweier Meshes verbinden
Übersicht

![]() |
StarGazerBetreff: Vertexe zweier Meshes verbinden |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
gibt es eine Möglicheite Vertexe verschmletzen zu lassen ? Ich meine ZB wenn zwei Vierecke nebeneinander liegen, und man die Vertexe die genau auf der gleichen Position liegen mit einander verbinde möchte, so dass dann das Vertexshading smooth überläuft ohne das Schnittkanten entstehen ?. Ich möchte ein Gebilde aus verschiedenen Objekten zusammen bauen, und naher dann die Vertexe an den Rändern die sich berühren, verbinden, so dass dann das Vertexshading smooth rüberläuft. Mit AddMesh reicht es ja alleine nicht. Hoffe es ist möglich und jemand kann mir helfen. |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das kannst du auch faken:
ql:VertexNormal für die schattierung ql:VertexTexCoords für die textur. |
||
![]() |
StarGazer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke,
habs nun auch hingekriegt. Ist aber nicht so simpel, man muß schon darauf achten das alle Vertexe die auf einer Position liegen immer die selben NormalCoordinaten erhalten, sonst kommt es trotzdem zu Schnittkanten. Für alle die es interessiert hier der Code. Jetzt muß man nur noch eine intelligende Lösung finden das die Vertexe auf einer Position nicht nur den gleichen Wert erhalten, sondern auch den sinvollsten Wert nehmen, sonst kommt es dennoch zu falschen Beleuchtung oder mal keiner ![]() Code: [AUSKLAPPEN] Graphics3D 800, 600, 32, 2
SetBuffer BackBuffer() camera=CreateCamera() CameraClsColor camera,64,64,96 RotateEntity camera,-55,0,0 MoveEntity camera, 0,0,-10 light=CreateLight() RotateEntity light,60,50,0 ;------------------------ ; Erste Reihe quad% = CreateMesh() surface% = CreateSurface(quad%) AddVertex(surface,-1, 1,0, -1,1) AddVertex(surface, 1, 1,0, 1,1) AddVertex(surface,-1,-1,0, -1,-1) AddVertex(surface, 1,-1,0, 1,-1) AddTriangle surface,1,3,2 AddTriangle surface,0,1,2 ;------------------------ mesh% = CopyMesh% (quad%) PositionEntity mesh%, 2,0,0 surface% = GetSurface(mesh%,1) VertexCoords surface,1 ,1,1 ,-2 VertexNormal surface,1, 1,1 ,-2 VertexCoords surface,3 ,1,-1,-2 VertexNormal surface,3, 1,-1,-2 ;------------------------ mesh% = CopyMesh% (quad%) PositionEntity mesh%, 4,0,-2 surface% = GetSurface(mesh%,1) VertexNormal surface,0,1, 1,-2 VertexNormal surface,2,1,-1,-2 VertexNormal surface,3,1, 1,-2 ;------------------------ ; Zweite Reihe mesh% = CopyMesh% (quad%) PositionEntity mesh%, 0,-2,0 ;------------------------ mesh% = CopyMesh% (quad%) PositionEntity mesh%, 2,-2,0 surface% = GetSurface(mesh%,1) VertexCoords surface,1 ,1,1 ,-2 VertexNormal surface,1,1,-1,-2 ;------------------------ mesh% = CopyMesh% (quad%) PositionEntity mesh%, 4,-2,0 surface% = GetSurface(mesh%,1) VertexCoords surface,0, -1, 1,-2 VertexNormal surface,0, 1,-1,-2 VertexCoords surface,1, 1, 1,-2 VertexNormal surface,1, 1, 1,-2 ;WireFrame 1 While Not KeyHit(1) RenderWorld Flip Wend End |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group