AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

OpenGL Shader-Frage

Ein Thema von Peter666 · begonnen am 7. Sep 2014
Antwort Antwort
Peter666

Registriert seit: 11. Aug 2007
357 Beiträge
 
#1

OpenGL Shader-Frage

  Alt 7. Sep 2014, 17:47
Hallo,

ich weiß das meine Frage im DelphiGL-Forum besser aufgehoben wäre, aber da müsste ich mich separat anmelden und ich weiß das einige der Nutzer da auch hier aktiv sind

Ich beschäftige mich erst seit kurzem mit dem Thema und habe folgendes Problem. Ich möchte meine Texture mit einem Farbwert multiplizieren. Bei reinem OpenGL nutze ich dafür ne Quad, binde da die Texture ein und schreibe nen glColor4F. Nun muss ich aufgrund der Tatsache das ich das ganze unter GLSL auch zum Laufen kriegen will auf Shader umsteigen. Das zeichnen eines Trianglestrips mittels Vertex und Fragmentshader klappt ganz gut. Ich hab dafür einfach eines der OpenGL Beispiele genommen. Nun möchte ich aber eine weitere Variable verwenden, um die Textur mit einer Farbe zu versehen. Dazu binde ich das Attribut an das Program via:

glBindAttribLocation(FProgram, ATTRIBUTE_COLOR, 'color'); und beim Rendern mache ich ein:

Delphi-Quellcode:
var colors: Array [0 .. 3] of GLFloat;

  glUseProgram(FProgram);
  ...
  glVertexAttribPointer(ATTRIBUTE_COLOR, 1, GL_FLOAT,false, 0, @colors);
  glEnableVertexAttribArray(ATTRIBUTE_COLOR);
Mein Fragmentshader schaut wie folgt aus:

Code:
varying vec2 v_texcoord;
attribute vec4 color;
uniform sampler2D s_texture;

void main()

 gl_FragColor = texture2D(s_texture, v_texcoord) * color;
}
Es ist jedoch als ob color ein vec4(0,0,0,0) ist und dementsprechend ist das Ergebnis ein schwarzes Rechteck. Hat jemand eine Idee wieso? Leider muss ich Shader nutzen, da sonst die Performance in den Keller geht. Ich hab mir einen Vertexshader gestrickt der aus einem Bild ein für die Occulus Rift angepasstes Ergebnis erstellt.

Peter
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz