DX9: DrawIndexedPrimitive - specifieke vertices

Status
Niet open voor verdere reacties.

DaDennis

Gebruiker
Lid geworden
12 nov 2006
Berichten
66
Ok, ik zit nu met een probleempje, ik heb nu (met behulp van een vertex- en indexbuffer) een skybox gemaakt, alleen nu wil ik hem nog texturen.

Ik dacht dus als ik nou 3 paar texture coordinaten gebruik per vertex, kan ik voor elke zijde een aparte texture geven. Maar omdat die vertices natuurlijk niet allemaal mooi op een rijtje staan moet je specifieke vertices te pakken krijgen.

Om een voorbeeld tegeven (wat eigenlijk een terrain en geen skybox is):

Je hebt een 3x3 terrain:

0-1-2
| | |
3-4-5
| | |
6-7-8


dan is mijn vertexbuffer dus gevuld met vertex 0 - 8,

Mijn indexbuffer is dan zo:
1, 0, 3,
1, 3, 4,

2, 1, 4,
2, 4, 5,

4, 3, 6,
4, 6, 7,

5, 4, 7,
5, 7, 8


Om nu bijvoorbeeld alleen het vierkant helemaal linksboven apart te texturen (met ander texture)
Moet ik vertex 0, 1, 3 en 4 hebben, maar hoe teken ik met DrawIndexedPrimitive 2 primitives met precies die vertices?

Ik hoop dat het een beetje duidelijk is wat ik probeer.

- Dennis


EDIT: Ok, ik heb nu dus uitgevonden dat ik voor de volgende quad bij DrawIndexedPrimitive gewoon the BaseVertexIndex +1 moet doen, en als de volgende quad op de volgende regel zegmaar komt +2, geen idee waarom, maar het schijnt te werken.

Nu zit ik nog met het probleem met texturen, ik gebruik nu 4 texture coordinaten, en de bedoeling was dat elke set coordinaten bij een bepaalde hoek hoorden (dus set1 voor de texture linkboven, set2 rechtsboven, set3 linksonder en set4 rechtsonder), maar hoe zorg ik nu dat ik zodra ik SetTexture de goede sets kies voor elke vertex?
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan