Gibts hier cg coder?
-
du solltest den code rausrücken
-
ok, das sieht so aus:
shader:
struct demooutput { float4 color : COLOR; }; demooutput main(float4 color : COLOR) { demooutput OUT; OUT.color = float4(0.0, 0.0, 1.0, 1.0); return OUT; }
und dann im OGL-Progi:
//error handler cgSetErrorCallback(CgError); // Set up Cg cgFragmentProfile = CG_PROFILE_FP20; //cgGLSetOptimalOptions(cgFragmentProfile); // Load and Compile the Vertex Shader From File cgProgram = cgCreateProgramFromFile(cgContext, CG_SOURCE, "ps_blur.cg", cgFragmentProfile, "main", 0); // Load the program cgGLLoadProgram(cgProgram); //enable shader cgGLEnableProfile(cgFragmentProfile);
Errors vom Cg compiler fange ich ab, es kommen bis dahin aber keine Errors.. Nur eben, s'wird nicht blau..
-
hm?
Ist's moeglich, dass Geforce4 Ti noch keine programmierbaren pixel shader haben? erst vertex shader? Obwohl.. CG_PROFILE_FP20 wird scheinbar unterstuetzt..
-
GeForce 4 TI hat afaik Vertex und Pixel shader 1.1...
GeForce 4 MX hat aber weder noch
-
Ist aber ne TI, Vertex Shader haut irgendwie auch hin (nicht wirklich wie ich mir das dachte, aber das liegt an mir :))
Bloss, ich hab eben gesehen, dass ich keine ARB_fragment_program oder aehnliches hab. Nur vertex_program...
Und eben, der Shader ist so simpel, das muesste doch einfach hinhauen..
-
Ab der GF3 gibt's VS und PS!
Aktuelle Treiber drauf?
-
Sgt. Nukem schrieb:
Ab der GF3 gibt's VS und PS!
Aktuelle Treiber drauf?
Jo, schon.. Jedenfalls der neuste Linux-Treiber, und ich denk nVidia haben ziemlich aktuelle Linux-Treiber (nicht wie gewisse andere Hersteller
)..
-
Also wenn ich das recht sehe dann läuft das ganze unter OpenGL. Und afaik unterstützt die Geforce3 unter OpenGL noch nicht die ARB_fragment_program Extension.
Die Programmierung der Pixeleinheit ist nur über Register Combiner und Texture Shader möglich. Und da gibts wohl noch ein Profil für Cg.
cya
liquid
-
war die benennung unter oGL nicht anders? <ps2.0 sind noch combiner, ps2.x sind normale fragment programms und ps3.0 sind jetzt fragmentprogramms2, und geforce4 kann kein CG_PROFILE_FP20.
versuch's mal eventuell mit
// Set up Cg cgFragmentProfile = cgGLGetLatestProfile(CG_GL_FRAGMENT);
rapso->greets();
-
Danke für die Antworten
Ich werds mal mit rapsos Tip versuchen (hab die GraKa momentan nicht hier).
-
Als in meinem Buch steht, dass der Identifier fp20 für die Verwendung der NV_register_combiner und NV_texture_shader Extensions steht, die sind ab Geforce3 verfügbar.
Mal sehen, die ersten Register Combiner gibts ab Geforce 256 (NV10).
Die GF2 unterscheidet sich in Sachen RC und TS nicht von der Geforce256.
GF3 hat Register Combiner Version 1 und 2 und Texture Shader 1 und 2.
GF4 hat dazu noch dazu Texture Shader 3.
Die FX Karte wäre danach die erste Karte von NV die mit dem arbfp1 Cg Profil funzt, alles darunter läuft nur über fp20.cya
liquid
-
hmm, komisch.. also liegts doch an mir..