#1 24.01.2005 20:43:37

MexDelphi
ProMember
Ort: Göppingen
Registriert: 24.01.2005
Beiträge: 235
Web-Seite

Shader

Hallo,

hat jemand einen Link zu einem Tut  zum Thema Vertex/Pixelshader ?
(kein HLSL oder FX kram) evtl. etwas zum Einbinden in eine 3D Engine ..

Konkretes Problem: die vielen Möglichkeiten mit den TextureStages zu arbeiten möglichst flexibel auf die Pixelshader zu verlagern

THX
Mex


goto: http://mexdelphi.cybton.com

Offline

 

#2 24.01.2005 21:05:04

Chris
ExtremeMember
Ort: Erlangen, Bay
Registriert: 24.01.2005
Beiträge: 694
Web-Seite

Re: Shader

Also ein tut in delphi hab ich
nie gesehen
es gibt diverse C++ tuts die du dir evtl anschauen
kannst.

such einfach mal unter google....
die befehle sind ja fast die selben nur
der syntax ist etwas anders....

bei fragen poste einfach...

mfg
Chris


Nimm meinen Rat an - ich brauch ihn sowieso nicht

Offline

 

#3 24.01.2005 21:37:33

artzuk
GodlikeMember
Ort: Leipzig
Registriert: 24.01.2005
Beiträge: 1164

Re: Shader

Am Besten schaust du im SDK mal nach ...
bei Inhalt->DirectX Graphics->References ... dort findest du die beste Hilfe ... im Internet hab ich selbst stets ohne Erfolg gesucht.


Mein kleiner .NET Blog: http://artzuk-interactive.de/

Offline

 

#4 25.01.2005 10:15:17

Peacebreaker
Newbie
Ort: Hemer
Registriert: 25.01.2005
Beiträge: 8
Web-Seite

Re: Shader

Auch wenn du scheinbar drauf verzichten willst, ich denke es dürfte deutlich einfacher sein "flexibel" zu arbeiten, wenn du fx files benutzt oder zumindest HLSL. Gibts spezielle Gründe warum du darauf verzichten willst ?

Offline

 

#5 25.01.2005 12:36:37

MexDelphi
ProMember
Ort: Göppingen
Registriert: 24.01.2005
Beiträge: 235
Web-Seite

Re: Shader

Hi,

@Peacebreaker:

HLSL ist überflüssig wie ein Kropf ... für  die paar  Instructionen bzw. Macros die 
man in einem Shader verwenden kann, brauche ich keine zusätzliche abstraktion. Was die effizienz des erzeugten Shaders betrifft ... sobald es etas komplizierter wird, ist der mensch eben besser als jeder optimierungsversuch des compilers.

Auserdem bezweifle ich, das HLSL effizient einsetzbar ist ... es gibt eben  nichts teureres(Zeitaufwändig) als den Shader bei einer Grafikkarte zu wechseln. Bei FX bzw. HLSL wechsle ich immer Vertex und Pixekshader ... soweit ich das überflogen habe ... aber ein weiterer Grund ist, es ist wieder API abhängig und ich muss wieder etas neues lernen obwohl ich mich in shder anz gut eingearbeitet habe  ... keine lust wink

FX und co. sind sicher einfacher zu handeln ... aber eben nicht in dem Mase effizient wie ich es mir wünsche.


goto: http://mexdelphi.cybton.com

Offline

 

#6 29.01.2005 17:25:22

Guest
Gast

Re: Shader

Also die compiler sind meiner Erfahrung nach äusserst effizient - zumindest ab shader Modell 2.0, bei 1.x ist es teilweise problematisch, da kommt man teilweise nicht am assembler vorbei. Aber bei komplexeren Shadern verliert jeder Mensch die Übersicht im Assembler, dem Compiler macht das hingegen absolut nichts aus.

Zitat:

Auserdem bezweifle ich, das HLSL effizient einsetzbar ist ...

Ist es aber :-) - ich setz HLSL sogar relativ häufig effizient ein. Was die switches betrifft: je nach Hardware ist es unterschiedlich und wird ständig diskutiert was nun wirklich das teuerste ist, texture switches oder shader switches, bei den shadern kommt es natürlich auch wesentlich darauf an die Parameter zu setzen, d.h. es hängt von der Beschaffenheit des shaders ab. Für das Shadermodell 3.0 wird von nvidia ausdrücklich empfohlen auf switches weitgehend zu verzichten und stattdessen bedingte Sprünge einzusetzen, damit ist der overhead Geschichte. Gleichzeitig werden mit der Methode jedoch die shader um ein vielfaches grösser, d.h. ich kann dir nur empfehlen: freunde dich besser jetzt mit HLSL oder Cg an, du wirst früher oder später sonst hinter der Entwicklung zurück bleiben weil man mit dieser zusätzlichen Abstraktionsebene sehr flexibel und relativ einfach Shader implementieren kann für die man ansonsten eine ganze Weile brauchen würde.

JorEl

 

#7 29.01.2005 17:25:22

Guest
Gast

Re: Shader

Also die compiler sind meiner Erfahrung nach äusserst effizient - zumindest ab shader Modell 2.0, bei 1.x ist es teilweise problematisch, da kommt man teilweise nicht am assembler vorbei. Aber bei komplexeren Shadern verliert jeder Mensch die Übersicht im Assembler, dem Compiler macht das hingegen absolut nichts aus.

Zitat:

Auserdem bezweifle ich, das HLSL effizient einsetzbar ist ...

Ist es aber :-) - ich setz HLSL sogar relativ häufig effizient ein. Was die switches betrifft: je nach Hardware ist es unterschiedlich und wird ständig diskutiert was nun wirklich das teuerste ist, texture switches oder shader switches, bei den shadern kommt es natürlich auch wesentlich darauf an die Parameter zu setzen, d.h. es hängt von der Beschaffenheit des shaders ab. Für das Shadermodell 3.0 wird von nvidia ausdrücklich empfohlen auf switches weitgehend zu verzichten und stattdessen bedingte Sprünge einzusetzen, damit ist der overhead Geschichte. Gleichzeitig werden mit der Methode jedoch die shader um ein vielfaches grösser, d.h. ich kann dir nur empfehlen: freunde dich besser jetzt mit HLSL oder Cg an, du wirst früher oder später sonst hinter der Entwicklung zurück bleiben weil man mit dieser zusätzlichen Abstraktionsebene sehr flexibel und relativ einfach Shader implementieren kann für die man ansonsten eine ganze Weile brauchen würde.

JorEl

 

#8 29.01.2005 17:25:22

Guest
Gast

Re: Shader

Also die compiler sind meiner Erfahrung nach äusserst effizient - zumindest ab shader Modell 2.0, bei 1.x ist es teilweise problematisch, da kommt man teilweise nicht am assembler vorbei. Aber bei komplexeren Shadern verliert jeder Mensch die Übersicht im Assembler, dem Compiler macht das hingegen absolut nichts aus.

Zitat:

Auserdem bezweifle ich, das HLSL effizient einsetzbar ist ...

Ist es aber :-) - ich setz HLSL sogar relativ häufig effizient ein. Was die switches betrifft: je nach Hardware ist es unterschiedlich und wird ständig diskutiert was nun wirklich das teuerste ist, texture switches oder shader switches, bei den shadern kommt es natürlich auch wesentlich darauf an die Parameter zu setzen, d.h. es hängt von der Beschaffenheit des shaders ab. Für das Shadermodell 3.0 wird von nvidia ausdrücklich empfohlen auf switches weitgehend zu verzichten und stattdessen bedingte Sprünge einzusetzen, damit ist der overhead Geschichte. Gleichzeitig werden mit der Methode jedoch die shader um ein vielfaches grösser, d.h. ich kann dir nur empfehlen: freunde dich besser jetzt mit HLSL oder Cg an, du wirst früher oder später sonst hinter der Entwicklung zurück bleiben weil man mit dieser zusätzlichen Abstraktionsebene sehr flexibel und relativ einfach Shader implementieren kann für die man ansonsten eine ganze Weile brauchen würde.

JorEl

 

#9 29.01.2005 17:25:22

Guest
Gast

Re: Shader

Also die compiler sind meiner Erfahrung nach äusserst effizient - zumindest ab shader Modell 2.0, bei 1.x ist es teilweise problematisch, da kommt man teilweise nicht am assembler vorbei. Aber bei komplexeren Shadern verliert jeder Mensch die Übersicht im Assembler, dem Compiler macht das hingegen absolut nichts aus.

Zitat:

Auserdem bezweifle ich, das HLSL effizient einsetzbar ist ...

Ist es aber :-) - ich setz HLSL sogar relativ häufig effizient ein. Was die switches betrifft: je nach Hardware ist es unterschiedlich und wird ständig diskutiert was nun wirklich das teuerste ist, texture switches oder shader switches, bei den shadern kommt es natürlich auch wesentlich darauf an die Parameter zu setzen, d.h. es hängt von der Beschaffenheit des shaders ab. Für das Shadermodell 3.0 wird von nvidia ausdrücklich empfohlen auf switches weitgehend zu verzichten und stattdessen bedingte Sprünge einzusetzen, damit ist der overhead Geschichte. Gleichzeitig werden mit der Methode jedoch die shader um ein vielfaches grösser, d.h. ich kann dir nur empfehlen: freunde dich besser jetzt mit HLSL oder Cg an, du wirst früher oder später sonst hinter der Entwicklung zurück bleiben weil man mit dieser zusätzlichen Abstraktionsebene sehr flexibel und relativ einfach Shader implementieren kann für die man ansonsten eine ganze Weile brauchen würde.

JorEl

 

#10 29.01.2005 17:25:22

Guest
Gast

Re: Shader

Also die compiler sind meiner Erfahrung nach äusserst effizient - zumindest ab shader Modell 2.0, bei 1.x ist es teilweise problematisch, da kommt man teilweise nicht am assembler vorbei. Aber bei komplexeren Shadern verliert jeder Mensch die Übersicht im Assembler, dem Compiler macht das hingegen absolut nichts aus.

Zitat:

Auserdem bezweifle ich, das HLSL effizient einsetzbar ist ...

Ist es aber :-) - ich setz HLSL sogar relativ häufig effizient ein. Was die switches betrifft: je nach Hardware ist es unterschiedlich und wird ständig diskutiert was nun wirklich das teuerste ist, texture switches oder shader switches, bei den shadern kommt es natürlich auch wesentlich darauf an die Parameter zu setzen, d.h. es hängt von der Beschaffenheit des shaders ab. Für das Shadermodell 3.0 wird von nvidia ausdrücklich empfohlen auf switches weitgehend zu verzichten und stattdessen bedingte Sprünge einzusetzen, damit ist der overhead Geschichte. Gleichzeitig werden mit der Methode jedoch die shader um ein vielfaches grösser, d.h. ich kann dir nur empfehlen: freunde dich besser jetzt mit HLSL oder Cg an, du wirst früher oder später sonst hinter der Entwicklung zurück bleiben weil man mit dieser zusätzlichen Abstraktionsebene sehr flexibel und relativ einfach Shader implementieren kann für die man ansonsten eine ganze Weile brauchen würde.

JorEl

 

#11 29.01.2005 17:25:22

Guest
Gast

Re: Shader

Also die compiler sind meiner Erfahrung nach äusserst effizient - zumindest ab shader Modell 2.0, bei 1.x ist es teilweise problematisch, da kommt man teilweise nicht am assembler vorbei. Aber bei komplexeren Shadern verliert jeder Mensch die Übersicht im Assembler, dem Compiler macht das hingegen absolut nichts aus.

Zitat:

Auserdem bezweifle ich, das HLSL effizient einsetzbar ist ...

Ist es aber :-) - ich setz HLSL sogar relativ häufig effizient ein. Was die switches betrifft: je nach Hardware ist es unterschiedlich und wird ständig diskutiert was nun wirklich das teuerste ist, texture switches oder shader switches, bei den shadern kommt es natürlich auch wesentlich darauf an die Parameter zu setzen, d.h. es hängt von der Beschaffenheit des shaders ab. Für das Shadermodell 3.0 wird von nvidia ausdrücklich empfohlen auf switches weitgehend zu verzichten und stattdessen bedingte Sprünge einzusetzen, damit ist der overhead Geschichte. Gleichzeitig werden mit der Methode jedoch die shader um ein vielfaches grösser, d.h. ich kann dir nur empfehlen: freunde dich besser jetzt mit HLSL oder Cg an, du wirst früher oder später sonst hinter der Entwicklung zurück bleiben weil man mit dieser zusätzlichen Abstraktionsebene sehr flexibel und relativ einfach Shader implementieren kann für die man ansonsten eine ganze Weile brauchen würde.

JorEl

 

#12 29.01.2005 17:25:22

Guest
Gast

Re: Shader

Also die compiler sind meiner Erfahrung nach äusserst effizient - zumindest ab shader Modell 2.0, bei 1.x ist es teilweise problematisch, da kommt man teilweise nicht am assembler vorbei. Aber bei komplexeren Shadern verliert jeder Mensch die Übersicht im Assembler, dem Compiler macht das hingegen absolut nichts aus.

Zitat:

Auserdem bezweifle ich, das HLSL effizient einsetzbar ist ...

Ist es aber :-) - ich setz HLSL sogar relativ häufig effizient ein. Was die switches betrifft: je nach Hardware ist es unterschiedlich und wird ständig diskutiert was nun wirklich das teuerste ist, texture switches oder shader switches, bei den shadern kommt es natürlich auch wesentlich darauf an die Parameter zu setzen, d.h. es hängt von der Beschaffenheit des shaders ab. Für das Shadermodell 3.0 wird von nvidia ausdrücklich empfohlen auf switches weitgehend zu verzichten und stattdessen bedingte Sprünge einzusetzen, damit ist der overhead Geschichte. Gleichzeitig werden mit der Methode jedoch die shader um ein vielfaches grösser, d.h. ich kann dir nur empfehlen: freunde dich besser jetzt mit HLSL oder Cg an, du wirst früher oder später sonst hinter der Entwicklung zurück bleiben weil man mit dieser zusätzlichen Abstraktionsebene sehr flexibel und relativ einfach Shader implementieren kann für die man ansonsten eine ganze Weile brauchen würde.

JorEl

 

#13 29.01.2005 17:25:22

Guest
Gast

Re: Shader

Also die compiler sind meiner Erfahrung nach äusserst effizient - zumindest ab shader Modell 2.0, bei 1.x ist es teilweise problematisch, da kommt man teilweise nicht am assembler vorbei. Aber bei komplexeren Shadern verliert jeder Mensch die Übersicht im Assembler, dem Compiler macht das hingegen absolut nichts aus.

Zitat:

Auserdem bezweifle ich, das HLSL effizient einsetzbar ist ...

Ist es aber :-) - ich setz HLSL sogar relativ häufig effizient ein. Was die switches betrifft: je nach Hardware ist es unterschiedlich und wird ständig diskutiert was nun wirklich das teuerste ist, texture switches oder shader switches, bei den shadern kommt es natürlich auch wesentlich darauf an die Parameter zu setzen, d.h. es hängt von der Beschaffenheit des shaders ab. Für das Shadermodell 3.0 wird von nvidia ausdrücklich empfohlen auf switches weitgehend zu verzichten und stattdessen bedingte Sprünge einzusetzen, damit ist der overhead Geschichte. Gleichzeitig werden mit der Methode jedoch die shader um ein vielfaches grösser, d.h. ich kann dir nur empfehlen: freunde dich besser jetzt mit HLSL oder Cg an, du wirst früher oder später sonst hinter der Entwicklung zurück bleiben weil man mit dieser zusätzlichen Abstraktionsebene sehr flexibel und relativ einfach Shader implementieren kann für die man ansonsten eine ganze Weile brauchen würde.

JorEl

 

Brett Fußzeile

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson