Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mi Jul 09, 2025 20:22

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Texturzugriff im Vertexshader
BeitragVerfasst: Mo Mai 04, 2009 21:53 
Offline
DGL Member

Registriert: Sa Mär 14, 2009 17:48
Beiträge: 99
Programmiersprache: D, Java, C++
Hi,
ich spiel gerade mit Shadern rum und finde das alles auch sehr spannend, als ich dann im Vertex-Shader auf eine Textur zugreifen wollte bekam ich nur eine Fehlermeldung (nach dem linken):
Zitat:
Vertex info
-----------
(5) : error C3004: function "texture2D" not supported in this profile


So sehen meine Shader aus:
VertexShader
Code:
  1. uniform sampler2D texture0;
  2.  
  3.         void main(void) {
  4.           gl_FrontColor = gl_Color;
  5.           vec4 val = texture2D(texture0, vec2(0, 0));
  6.          
  7.           vec4 x;
  8.           x.x = val.r;
  9.           x.y = val.g;
  10.           x.z = val.b;
  11.           x.w = 1.0;
  12.           gl_Position = gl_ModelViewProjectionMatrix * (x * gl_Vertex);
  13.         }


FragmentShader
Code:
  1. void main(void) {
  2.             gl_FragColor = gl_Color;
  3.         }


Hier wird allerdings erwähnt, dass dies möglich sein sollte:
http://wiki.delphigl.com/index.php/Tuto ... enzugriffe

Kann es an der Version liegen?
OpenGL Version: 1.5.8 NVIDIA 96.43.10

Danke


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 04, 2009 23:42 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Der Treiber, den du nutzt, ist extrem alt.
Update mal dein Treiber auf die neueste Version und schau dann nochmal nach.
Informative wäre auch noch das Modell der Grafikkarte, fals es nach dem update noch nicht geht.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 04, 2009 23:49 
Offline
DGL Member

Registriert: Sa Mär 14, 2009 17:48
Beiträge: 99
Programmiersprache: D, Java, C++
Hi,
dass ist der aktuellste Treiber in den Ubuntu Repos für meine "GeForce2 MX/MX 400" :P... Mein Notebook ist derzeit in Reparatur, deswegen muss ich hier mit so einer Uraltmühle vorlieb nehmen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 05, 2009 09:46 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Bis auf Delphi3D fällt mir keine Seite mehr ein, die noch zu den so alten Karten noch extension und arb unterstützung listet.
Leider ist die Seite aktuell down aber ich bin mir schon recht sicher, dass glsl da recht große Probleme auf der Karte haben wird.
Ich kann mir gut vorstellen, dass man angefangen hatte glsl für die Karte zu implementieren aber halt nicht alles und einiges cpu seitig, nicht gpu.
Was mich verwundert ist eher, dass er von Profile redet, welches in den alten OpenGL Versionen eigentlich sehr stark versteckt war und erst mit OpenGL3 in den Vordergrund gerückt ist.
Bis OpenGL3.0 wurde der zu erstellende Context vom Treiber vorgegeben und man hatte keinen Einfluss darauf.
Jede OpenGL Version ist ein Profiel aber auch eine Debugversion oder eine OpenGL Version mit Ext und ARB bzw. ohne ist jeweils ein Profiel.
Auf deinem System kannst du nur ein einziges Profiel bekommen und zwar das OpenGL 1.5.8 mit extension und arb.
GLSlang is seit OpenGL 1.4 im Core, erstellst,compilierst und linkst du die Shader über die Kern-Funktionen oder über die ARB-Funktionen ?
Wenn du die Kern-Funktionen verwendest, dann könnte es vieleicht noch was bringen auf die ARB- bzw. EXT-Funktionen von Nvidia zu testen.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 05, 2009 10:10 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
@Skeptiker:
Ich bezweifle stark das eine "GeForce2 MX/MX 400" schon Texturzugriffe im Vertexshader kann.

@TAK:
Da du das hier mehrfach wiederholst ist es wohl kein Tippfehler: "Profiel" schreibt man "Profil" !

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 05, 2009 10:38 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
xD wohl war, mein schlechtes Denglish.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 05, 2009 12:36 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
glSang bereits im OpenGL 1.4 Kern? VBOs sind ja erst Bestandteil des 1.5 Kerns. glSlang ist seit 2.0 im Kern verankert. Vorher war es nur über entsprechende ARB Erweiterungen verfügbar. Diese haben aber schon zu Zeiten von OpenGL 1.5 existiert. Die anderen Shader die es vorher noch gab waren Assemblervarianten von Shader.

Aber ich meine im Hinterkopf irgendwas gehört zu haben, dass die Karten in den früheren glSlang Varianten noch keine Texturzugriffe im Vertexshader konnten. Sondern, dass das erst im Shader Model 3 oder so eingeführt wurde. Da geb aber mal so was von keine Garantie drauf. ;) Ich weiß leider auch nicht welche glSlang Version welchem Shader Model entspricht.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 05, 2009 18:04 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
In den Specs von GLSlang 1.2(hatte heute früh nachgeguckt) steht ganz am Anfang, dass sie bestandteil des OpenGL 1.4 Kerns sind.
Ich selber nutze nur die ARB und seit OpenGL3 halt noch die Kern interne Variante.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 05, 2009 18:47 
Offline
DGL Member

Registriert: Sa Mär 14, 2009 17:48
Beiträge: 99
Programmiersprache: D, Java, C++
Hm, dann schein ich da wohl solange ich diese Grafikkarte nutze keine Chance zu haben...
Danke für eure Hilfe :).


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 05, 2009 18:53 
Offline
DGL Member
Benutzeravatar

Registriert: So Jun 04, 2006 12:54
Beiträge: 263
GLSL ist erst ab Opengl 2.0 im core. Die GLSL extensions dafür sind aber gegen eine frühere OpenGL version geschrieben (1.4 oder 1.5) Da die GF2 MX nicht einmal Shadermodel 2.0 unterstützt kann man die Frage nach GLSL oder gar Texturzugriffe im vertexshader fast softort verneinen. Im Bestem Fall gibt es eine Softwareemulation. Wirklich funktionieren tuen die Zugriffe erst mit DX10 tauglichen karten. (GF6+7 hatten die möglichkeit auf floatingpoint texturen zuzugreifen)

_________________
Lumina plattform unabhängige GLSL IDE


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 05, 2009 21:33 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Hab nochmal nachgeguckt und muss sagen, dass der Text blöd formuliert war.
Die Definierte Sprache ist ein Begleiter von OpenGL 1.4 und wird GLSL genannt, welches ab OpenGL2.1 im Kern verfügbar ist.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 15 Queries | GZIP : On ]