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

Aktuelle Zeit: So Apr 28, 2024 19:39

Foren-Übersicht » Programmierung » Shader
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Do Apr 16, 2009 18:17 
Offline
DGL Member

Registriert: Sa Nov 24, 2007 11:59
Beiträge: 116
Programmiersprache: FreePascal
Moinmoin.

Ich hab ja tatsächlich mal wieder ein Problem: Ich will im Vertexshader auf eine Textur zugreifen, mache das auch genau so wie im Fragmentshader (wo es ja geht) und bumm - es hängt sich derbst auf, ohne Meldung und so. Die Textur ist eine ganz normale Textur mit 4 Farbkanälen und 1024x1024 Pixeln Größe.
Wie geht das denn sonst im VS? :(
Oder kann das daran liegen, dass mein Grafikchip noch kein ShaderModel 4 kann? (ist ein GeForce 6100-Onboard-Chip, meine Graka ist mir vor vier Wochen durchgebrannt)
Hab den aktuellen 180er-Treiber mit Xorg 1.6 laufen.

MfG
Ireyon


Zuletzt geändert von Ireyon am Do Apr 16, 2009 18:53, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Apr 16, 2009 18:26 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Also ShaderModel 4.0 brauchst du dafür nicht. Was ist den der Wert von GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB ? Das ist die Anzahl der Texturen die du maximal im Vertexshader nutzen kannst. Wenn der Wert 0 ist, unterstützt deine Karte (oder Treiber) das nicht.

Unter Linux kannst du diesen Wert bequem mit "glxinfo -l" abfragen.

Ansonsten irgendwo am Anfang folgendes in dein Programm einbauen:
Code:
  1. GLint tmp;
  2. glGetIntegerv(GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB, &tmp);
  3. std::cout << "GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB=" << tmp << "\n";

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Apr 16, 2009 18:32 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Also dein Treiber sollte das schon mal packen, dann liegt es wohl an der Karte. Bei mir sieht das (stark gekürzt) so aus:

Code:
  1. [coolcat@q9300 ~]$ glxinfo -l
  2. (...)
  3. direct rendering: Yes
  4. (...)
  5. OpenGL vendor string: NVIDIA Corporation
  6. OpenGL renderer string: GeForce 9800 GT/PCI/SSE2
  7. OpenGL version string: 3.0.0 NVIDIA 180.29
  8. OpenGL shading language version string: 1.30 NVIDIA via Cg compiler
  9. OpenGL extensions:
  10.     (...)
  11. OpenGL limits:
  12.     (...)
  13.     GL_VERTEX_SHADER_ARB:
  14.         GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB = 4096
  15.         GL_MAX_VARYING_FLOATS_ARB = 60
  16.         GL_MAX_VERTEX_ATTRIBS_ARB = 16
  17.         GL_MAX_TEXTURE_IMAGE_UNITS_ARB = 32
  18.         GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = 32
  19.         GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB = 32
  20.         GL_MAX_TEXTURE_COORDS_ARB = 8
  21.     GL_FRAGMENT_SHADER_ARB:
  22.         GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = 2048
  23.         GL_MAX_TEXTURE_COORDS_ARB = 8
  24.         GL_MAX_TEXTURE_IMAGE_UNITS_ARB = 32
  25. (....)

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Apr 16, 2009 18:46 
Offline
DGL Member

Registriert: Sa Nov 24, 2007 11:59
Beiträge: 116
Programmiersprache: FreePascal
Spuckt bei mir 4 aus. Die Textur, die ich da verwenden will, sitzt btw in Textur-Unit 2. Das interne Format hab ich mal auf GL_RGBA32F_ARB gesetzt, es geht nicht.

Danke aber für die flotten Antworten.


Edit: Filtering ausgeschaltet → Geht :)


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 14 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:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.017s | 17 Queries | GZIP : On ]