Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

botlin

Treue Seele

  • »botlin« ist der Autor dieses Themas

Beiträge: 139

Wohnort: Berlin

Beruf: Fachinformatiker für Anwendungsentwicklung, Student Internationale Medieninformatik

  • Private Nachricht senden

1

15.06.2011, 14:04

GLSL Attribute übergeben

Hi Leute habe folgendes Problem...

Ich möchte einen Bumpmapping effekt umsetzen und müsste dazu eine vorberechnete Tangente an den Shader übergeben.
Das sollte ja nur mit Attributen gehen da Uniform variablen sich ja auf die gesamte Fläche beziehen.

Das Rendern der Scene geschieht mit glDrawElements.
Uniform-Variablen kann ich soweit auch übergeben aber bei Attributen weiß ich irgendwie nicht weiter.
Ich hätte ein float[] welches die einzelnen Tangenten enthält. Jeweils 3 Werte beschreiben eine Tangente.

Wie müsste ich es anstellen wenn ich die ersten 3 werte aus dem array für den ersten Vertex verwenden will, die nächsten 3 für den nächsten vertex und so weiter...

n Beispiel wäre gut...

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

15.06.2011, 14:11

Was du suchst heißt glVertexAttribPointer(). Generell ist alles andere (wie z.B. glVertexPointer()) eigentlich veraltet, heutzutage verwendet man ausschließlich generische Vertex Attribute (Auch für Position, Normalen, Texcoords, etc.), gleich wie man auch ausschließlich uniforms verwendet und nichtmehr den eingebauten Pipelinestate wie z.B. gl_ModelViewProjectionMatrix...

botlin

Treue Seele

  • »botlin« ist der Autor dieses Themas

Beiträge: 139

Wohnort: Berlin

Beruf: Fachinformatiker für Anwendungsentwicklung, Student Internationale Medieninformatik

  • Private Nachricht senden

3

15.06.2011, 18:58

Frage: Warum soll man denn die gegebenen uniform wie gl_ModelViewProjectionMatrix in GLSL nicht mehr verwenden? Will jetz nicht wiedersprechen oder so, würde mich mal interessieren warum man drauf verzichten soll.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

4

15.06.2011, 19:13

Weil die schon immer nur aus Gründen der Abwärtskompatibilität vorhanden waren. Wenn du die verwendest dann bindest du dich damit an Teile der veralteten FFP (Matrix Stack, etc.).

botlin

Treue Seele

  • »botlin« ist der Autor dieses Themas

Beiträge: 139

Wohnort: Berlin

Beruf: Fachinformatiker für Anwendungsentwicklung, Student Internationale Medieninformatik

  • Private Nachricht senden

5

15.06.2011, 19:17

Ah okay das ergiebt sinn...
Mit VertexAttribPointer würde ich mich dann aber auf den Standard von OGL 2.0 festlegen.
Sprich wenn ich feststelle das die Karte noch kein GLSL kann dann müsste ich quasie nen alternative anbieten.

ArthurII

Treue Seele

Beiträge: 132

Wohnort: Aachen

Beruf: Student

  • Private Nachricht senden

6

15.06.2011, 19:32

haben die alten Sachen einen Nachteil?

Da ich mich Beruflich mit WebGL auseinandersetzen musste weiß ich, dass das da die einzige Möglichkeit ist zum zeichnen Daten auf die Grafikkarte zu Schieben, das werden die ja sicherlich nicht umsonnst gemacht haben, ist das schneller oder einfach nur freier??

Edit: sry, hab zu lange gebraucht
Ich bin nicht verrückt - nur verhaltensoriginell!
Project-Seite: Aura

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

7

15.06.2011, 19:37

Sprich wenn ich feststelle das die Karte noch kein GLSL kann dann müsste ich quasie nen alternative anbieten.

Ja, aber das musst du für derart alte Karten doch wohl sowieso!?

Werbeanzeige