Autor Beitrag
Andreas Pfau
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 997



BeitragVerfasst: Sa 11.01.03 15:34 
Hallo Leute,

weiß einer von euch, wozu ich mit glTexCoord() bis zu 4 Koordinaten definieren kann? was machen die anderen 2 (bei einer 2D-Textur)? Hat das was mit Cubemaps zutun? Wenn ja, wie geht das?
Raphael O.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1596


VS 2013
BeitragVerfasst: Sa 11.01.03 19:12 
die vier Koordinaten sind dafür da, um festzulegen, welcher ausschnitt der textur angezeigt wird... wobei 1 immer maximal ist

wenn du Fragen zu OpenGl hast bist du allgemein im Forum von [url]www.delphigl.com[/url] besser aufgehoben :wink:

Fiji-Fighter
Andreas Pfau Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 997



BeitragVerfasst: Sa 11.01.03 21:51 
Die Seite kenn' ich. Tolle Seite, aber da werden leider auch nur die ersten 2 Parameter behandlet (horizontale und vertikale Position).

Aber was kann ich mit den beiden anderen Parametern angeben? Eine Textur ist doch maximal 2-dimansional, waozu also 4 Dimensionen angeben? Was ist das???
Raphael O.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1596


VS 2013
BeitragVerfasst: Mo 13.01.03 13:39 
ich meinte das Forum da...
da wird dir sicherlich schneller geholfen...

Na ja...

mal ein Beispiel: du willst z.B aus einer Textur, nur die Mitte auf dein Quad "kleben"...
dann sind die vier Werte z.B.
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
glBegin(GL_QUADS);
        glTexCoord2f(0.2,0.2); glVertex3f(-1,-1,0);
        glTexCoord2f(0.2,0.8); glVertex3f(-1,1,0);
        glTexCoord2f(0.8,0.8); glVertex3f(1,1,0);
        glTexCoord2f(0.8,0.2); glVertex3f(1,-1,0);
glEnd;

dann hättest du auf deinem Quadrat nur ein mittleres Stück von der Textur, das du in der Mitte "herausgeschnitten hast"...

jetzt klar??

sonst frag nochmal nach

Fiji-Fighter

P.S. hier der direkte Link auf das Tut in dem alles wahrscheinlich besser noch mal erklärt wird: www.phobeus.de/hosti...on4&head=lesson4
OregonGhost
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 215



BeitragVerfasst: Mo 13.01.03 14:15 
@Fiji-Fighter:
Die Frage lautet, wozu die VIER Texturkoordinaten sind, in deinem Beispiel zeigst du wieder nur ZWEI.

In Direct3D gibt es Volume-Texturen, das heißt da sind drei Koordinaten schon mal angebracht. Ich weiß allerdings nicht, wofür man vier Koordinaten brauchen könnte...

_________________
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
Andreas Pfau Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 997



BeitragVerfasst: Mo 13.01.03 17:11 
@Fiji-Fighter, das wusste ich schon. Aber egal.

Danke @Oregonghost, Du hast es verstanden.

Also, halten wir fest: es könnten Volume-Korrdinaten sein wie in D3D. Weiß jemenad, was man damit machen kann?
Raphael O.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1596


VS 2013
BeitragVerfasst: Mo 13.01.03 17:46 
Ach so!! :oops: :oops: :oops:

ich dachte er wollte wissen warum man vier Koordinaten angibt anstatt nur zwei wie es z.B. bei Rectangle ist wo man nur oben links und unten rechts angibt...

Na ja auch egal...

Fiji-Fighter
OregonGhost
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 215



BeitragVerfasst: Mi 15.01.03 19:59 
Ich glaube, es ist einfach so, dass Texturen bis zu vier Dimensionen haben können. Die kann man sich zwar nicht mehr anschaulich vorstellen, aber man kann gut damit arbeiten. Beispiel: Wenn man eine dreidimensionale Textur verwendet, wo auf einer Würfelfläche eine reine Grastextur ist, und auf der gegenüberliegenden Seite eine reine Erdtextur, und dazwischen sind halt gemischte Texturen, dann kann man über eine Texturkoordinaten angeben, wieviel Erde bzw. Gras man haben will. Ich hab' dazu folgenden Text gefunden:
Microsoft DirectX9 SDK hat folgendes geschrieben:

Note With the exception of cubic-environment maps and volume textures, rasterizers cannot address textures by using any more than two elements. Applications can supply up to three elements for a texture coordinate, but only if the texture is a cube map, a volume texture, or the D3DTTFF_PROJECTED texture transform flag is used. The D3DTTFF_PROJECTED flag causes the rasterizer to divide the first two elements by the third (or n) element. For more information, see Texture Coordinate Transformations.

Tja... Mach dir also über vier Koordinaten keine Gedanken ;c)

_________________
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
Andreas Pfau Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 997



BeitragVerfasst: Mi 15.01.03 20:12 
Aha, die 4. Koordinate ist also für "Otto Normalverbraucher" ohne Bedeutung. Aber wie nutze ich dann die 3. Koordinate, d.h. wie erstelle ich mit mit OpenGL eine Cube-Textur?
OregonGhost
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 215



BeitragVerfasst: Do 16.01.03 18:55 
Ich weiß nicht, ob OpenGL schon Cube- oder Volume-Texturen unterstützt, es ist möglich, dass dies erst ab OpenGL 2.0 der Fall ist. An meinen bisherigen Antworten siehst du aber vielleicht, dass eher D3D mein Spezialgebiet ist.
Schau mal auf nehe.gamedev.net, www.gamedev.net oder www.gamasutra.com, vielleicht steht da was dazu.

_________________
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
Andreas Pfau Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 997



BeitragVerfasst: Do 16.01.03 20:48 
Danke, @Oregonghost, NeHe ist 'ne tolle Seite! Ich schau mir das mal durch.