Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

13.10.2003, 23:50

problem mit shadern

Also ich hab da ein kleines Problem mit Pixel- und Vertexshadern.
Ich wollte mal ein bisschen in das Thema einsteigen und hab versucht
einen recht einfachen Pixelshader aus der dx9-sdk-doku zu benutzen.
meine grafikkarte, eine geforce2 mx :) unterstüzt leider keine Shader;
jetzt hab ich allerdings in einem anderen Thread in diesem Forum gelesen, Zitat:

"Direct3D kann Vertex-Shader emulieren! Von daher müsste es bei Dir klappen."

hm..also ich weis nicht obs bei SM3D geklappt hat, bei mir gehts jedenfalls nicht, allerdings nur wenn ichs implementier. *g*
das sdk-sample-programm "VertexShader" funktioniert dagegen sehr gut...
kann mir vielleicht jemand helfen.?

gruß
0x00000023

Tobiking

1x Rätselkönig

  • Private Nachricht senden

2

14.10.2003, 11:01

Ich glaube das hängt mit dem Vertex_Processing bei der Create Device zusammen. In der DX Doku steht es so:

Zitat


if( FAILED( g_pD3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &d3dpp, &g_pd3dDevice ) ) )


Da wird aber soweit ich weiß komplett das Hardware T&L ausgeschaltet aber ich meine es gibt da noch anstatt D3DCREATE_SOFTWARE_VERTEXPROCESSING irgendwas mit Mixed aber finde da grad nichts in der Doku.

Edit: Man bin ich blind da steht es doch ;D . D3DCREATE_MIXED_VERTEXPROCESSING heiß es. Dann sollte alles was die Grafikkarte kann benutzt und was sie nicht kann Softwaremäßig emuliert in dem zusammenhang, wobei es passieren kann das mehr in Software gemacht wird weil es anders nicht geht.

3

14.10.2003, 13:45

Aehm : VERTEX Shader kann er emulieren aber keine PIXEL Shader :)

4

14.10.2003, 13:47

VertexShader können auch Emuliert werden, jedoch aber nicht Pixel Shader. Das sind zweierlei Dinge die man auseinander halten muss. Weil eben der VertexShader von D3D Emuliert werden kann, wurde er auch sehr früh schon in Spielen verwendet, da man nicht auf eine Alternative umstellen muss.

Zitat

Da wird aber soweit ich weiß komplett das Hardware T&L ausgeschaltet aber ich meine es gibt da noch anstatt D3DCREATE_SOFTWARE_VERTEXPROCESSING irgendwas mit Mixed aber finde da grad nichts in der Doku.

Edit: Man bin ich blind da steht es doch . D3DCREATE_MIXED_VERTEXPROCESSING heiß es. Dann sollte alles was die Grafikkarte kann benutzt und was sie nicht kann Softwaremäßig emuliert in dem zusammenhang, wobei es passieren kann das mehr in Software gemacht wird weil es anders nicht geht.
T&L hat mit den Shadern überhaupt nischt zu tun. Die T&L ist eine Fixed Function Pipeline und die Shader Units sind Programmierbar.

Der Mixed-Mode soll wohl nicht so Funktionieren wie er es verspricht. Daher sollte man auf eine Verwendung verzichten. Genaueres ist aber auch in David's Buch nachzulesen.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

Werbeanzeige