PDA

View Full Version : [Frage] anzahl unterstützer programmatrizes auf geforce hw


Chuck
17-03-2004, 01:52
Hallo
Da das Forum auf www.opengl.org (http://www.opengl.org/) noch immer down ist (jetzt schon seit fast nem monat *grmbl*) werd ich mal die frage die mich schon einige zeit beschäftigt hier posten:

wieviele state.matrix.program[x] matrizen werden von einer geforce4 bzw geforcefx (in einem arb_vertex_program) bereitgestellt. ich habe bereits ein vertex programm implementiert welches skinning mit bis zu 31 bones durchführt, wobei ich hierbei eben auf genau diese matrizen angewiesen bin. jetzt habe ich allerdings in letzter zeit auf geforce2 und 3 die erfahrung gemacht, dass zumindest die software emulierung von arb_vertex_program auf diesen karten bei weitem nicht 32 program matrizen zur verfügung stellt... insofern würde ich gerne wissen, ob dies bei neueren karten (geforce 4 und höher) auch der fall ist.

falls jemand es testen will einfach

#define GL_MAX_PROGRAM_MATRICES_ARB 0x862F

GLint test;

glGetIntegerv(GL_MAX_PROGRAM_MATRICES_ARB,&test);

in ein programm schreiben, das die standard opengl header inkludiert und irgendwo schon nen rendering context erzeugt hat.
dann nachsehen was in test geschrieben wird und hier pls posten :) . (würd nämlich gerne wissen, ob ich die ganzen bonematrizes in program und env parametern übergeben muss oder ob ich mir das sparen kann...)

ChrisChiu
21-03-2004, 18:23
Hallo
Da das Forum auf www.opengl.org (http://www.opengl.org/) noch immer down ist (jetzt schon seit fast nem monat *grmbl*) werd ich mal die frage die mich schon einige zeit beschäftigt hier posten:

wieviele state.matrix.program[x] matrizen werden von einer geforce4 bzw geforcefx (in einem arb_vertex_program) bereitgestellt. ich habe bereits ein vertex programm implementiert welches skinning mit bis zu 31 bones durchführt, wobei ich hierbei eben auf genau diese matrizen angewiesen bin. jetzt habe ich allerdings in letzter zeit auf geforce2 und 3 die erfahrung gemacht, dass zumindest die software emulierung von arb_vertex_program auf diesen karten bei weitem nicht 32 program matrizen zur verfügung stellt... insofern würde ich gerne wissen, ob dies bei neueren karten (geforce 4 und höher) auch der fall ist.

falls jemand es testen will einfach

#define GL_MAX_PROGRAM_MATRICES_ARB 0x862F

GLint test;

glGetIntegerv(GL_MAX_PROGRAM_MATRICES_ARB,&test);

in ein programm schreiben, das die standard opengl header inkludiert und irgendwo schon nen rendering context erzeugt hat.
dann nachsehen was in test geschrieben wird und hier pls posten :) . (würd nämlich gerne wissen, ob ich die ganzen bonematrizes in program und env parametern übergeben muss oder ob ich mir das sparen kann...)


Auf meiner GeForce4 Ti4200 mit aktuellen Treibern (56.62) bekomme ich als Ergebnis für MAX_PROGRAM_MATRICES 8 raus.

Chuck
21-03-2004, 19:57
ok dankte für die reply... das selbe ergebnis ist bei geforce2 und 3... hmpf naja dann werd ich wohl ein wenig pfuschen müssen, damit alle matrizen dem programm übergeben werden können *g* (immerhin gibts ja noch die texturkoordinaten matrizen und die enviroment und local parameter :p )