Textur auf selbsterstellte Meshes/Surfaces

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Travis

Betreff: Textur auf selbsterstellte Meshes/Surfaces

BeitragDo, Jul 22, 2004 1:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hoffe ihr könnt mir helfen. Ich versuche zur Zeit eine etwas flottere Partikelengine zu entwickeln, aber ich schaffe es irgendwie nie eine Textur drüberzuziehen. Immer wenn ich das versuche, sehe ich die erstellten Objekte nicht mehr bzw. sie haben nur eine Farbe.

Code: [AUSKLAPPEN]

Graphics3D 800,600,16,2
Camera = CreateCamera()
PositionEntity Camera, 0,0, -100

Textur = CreateTexture(64,64)
SetBuffer TextureBuffer(Textur)
For y = 0 To 64 Step 2
 For x = 0 To 64 Step 2
  Color Rnd(255),Rnd(255),Rnd(255)
  Rect x,y,2,2,1
 Next
Next
SetBuffer BackBuffer()


Mesh = CreateMesh()
Surface = CreateSurface(Mesh)

v0 = AddVertex(Surface, -1, -1, 0)
v1 = AddVertex(Surface, 1, 1, 0)
v2 = AddVertex(Surface, 1, -1, 0)
v3 = AddVertex(Surface, -1, 1, 0)
AddTriangle(Surface, v0, v1, v2)
AddTriangle(Surface, v1, v0, v3)

ScaleEntity mesh, 64,64,1
EntityTexture Mesh, Textur

RenderWorld
WaitKey
End


So wird das komplette Quadrat in irgendeiner Farbe eingefärbt. Ich versuche schon seit längerem das hinzubekommen, aber die Textur wird nie korrekt angezeigt.
www.funforge.org

Ich hasse WASD-Steuerung.

Man kann alles sagen, man muss es nur vernünftig begründen können.
 

Dreamora

BeitragDo, Jul 22, 2004 1:39
Antworten mit Zitat
Benutzer-Profile anzeigen
du musst den Vertices schon auch noch UV werte zuweisen, sonst sind die immer 0,0 also der pixel ganz links oben auf der textur
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Travis

BeitragDo, Jul 22, 2004 2:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn ich also so ein Quadrat 64x64 habe und eine gleichgroße Textur drüberziehen will, verstehe ich das so, dass ich den linken oberen Punkt die (Textur)Koordinate 0,0 gebe und den rechten unteren die Koordinaten 64x64 und die anderen beiden auch dementsprechend.

Dabei kommt aber eine merkwürdige Verzerrung heraus. Auf dem linken Dreieck wird die Textur ganz klein gekachelt dargestellt und auf dem rechten Dreieck genauso, nur das die Textur dort noch auf der X-Achse gestreckt ist.

EDIT: Ach, jetzt habe ich's verstanden. Komisches Koordinatensystem übrigens.

Code: [AUSKLAPPEN]

0,32     32,32
     XXX
     XXX
     XXX
0,0      32,0
www.funforge.org

Ich hasse WASD-Steuerung.

Man kann alles sagen, man muss es nur vernünftig begründen können.
  • Zuletzt bearbeitet von Travis am Do, Jul 22, 2004 2:24, insgesamt einmal bearbeitet
 

Dreamora

BeitragDo, Jul 22, 2004 2:24
Antworten mit Zitat
Benutzer-Profile anzeigen
nein Texturkoordinaten links oben sind 0,0 und rechts unten ist 1,1

alles grössere führt zu tilerepeat
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Travis

BeitragDo, Jul 22, 2004 2:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Ah, schon wieder was gelernt. Und ich habe den Wert 32 verwendet und dann die Textur noch scaliert.

In Sachen 3D bin ich leider ein echter Totalnewbie Rolling Eyes

Jetzt habe ich aber glaube ich alles, was ich für meine neue Engine brauche Very Happy
www.funforge.org

Ich hasse WASD-Steuerung.

Man kann alles sagen, man muss es nur vernünftig begründen können.

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group