[DIRECTX8.0]Scene heller machen; Pixel-Shader?!
-
TGGC schrieb:
interpreter schrieb:
Der BackBuffer is ja ne ganz normale Surface
Irrtum.
Bye, TGGC (Wähle deine Helden)
Aus der DX Doku:
public Surface GetBackBuffer( int swapChain, int backBuffer, BackBufferType backBufferType );
-
FragtNicht^^ schrieb:
ich wollte meine Scene heller machen. Dazu rendere ich einfach direkt vor EndScene ein einfaches Dreieck (D3DFVF_XYZRHW, mehr nicht) über den ganzen Bildschirm...
Mach das nicht, das ist ein Alptraum im Bezug auf die Füllrate.
Vielleicht ist "Gamma Korrektur" das, was Du willst.
-
Siehe meine 2 oberen Posts...

Aber wenn du mir ausführlich sagen kannst warum der BackBuffer deiner Meinung nach kein normales Surface darstellt und das auch noch richtig sein sollte schreib ich in meine Sig "TGGC du bist mein HELD"
-
dali schrieb:
Aber wenn du mir ausführlich sagen kannst warum der BackBuffer deiner Meinung nach kein normales Surface darstellt und das auch noch richtig sein sollte schreib ich in meine Sig "TGGC du bist mein HELD"
Kann ich. Schreib schonmal.
Bye, TGGC (Keine Macht den Dummen)
-
Ok Kasperl. Beantworte bitte "Warum stellt der BackBuffer kein normales Surface da?".
-
Sag mal EMail-Adresse.
Bye, TGGC (Keine Macht den Dummen)
-
Hehe habs mir fast gedacht...
tobias.sturn@vol.at
-
ich weiß zwar nicht ob es für dx8 gilt (bni auch zu faul nachzusehen), aber in dx9 ist der backbuffer eine surface
You can gain access to a specific back buffer by calling the IDirect3DDevice9::GetBackBuffer or IDirect3DSwapChain9::GetBackBuffer methods, which return a pointer to an IDirect3DSurface9 interface that represents the returned back buffer surface.
jedenfalls aus programmierersicht.
rapso->greets():
-
Aus Existenz folgt keine ganze Normalität. Daher irrelevant.
Bye, TGGC (Keine Macht den Dummen)
-
TGGC hat mir grade eine Mail geschickt die mir wohl zeigen sollte, dass der BackBuffer kein Surface ist. In dem Text steht jedoch klipp und klar drinnen, dass der BackBuffer ein Surface ist. Also nochmal:
Der BackBuffer IST ein Surface.
Das jemand wie TGGC natürlich nie zugeben würde das er falsch lag, ist natürlich auch klar.
-
Ich denke er wollte Dir sagen, dass der BB keine _normale_ Surface ist.
Der Backbuffer kann zB nur ein paar ganz bestimmte Formate annehmen (die kompatibel zur Bilschirmausgabe sein müssen). Im Gegensatz zu normalen Surfaces, für die es noch einige Formate mehr gibt.
-
0x00000001 schrieb:
Ich denke er wollte Dir sagen, dass der BB keine _normale_ Surface ist.
Der Backbuffer kann zB nur ein paar ganz bestimmte Formate annehmen (die kompatibel zur Bilschirmausgabe sein müssen). Im Gegensatz zu normalen Surfaces, für die es noch einige Formate mehr gibt.Dann soll er es so sagen und nicht ohne irgendeine Erklärung klugscheissen.
-
*lol*
Solln wir hier mal nen Battle-Channel aufmachen. So TGGC vs. Rest der Welt
:pNaja, jetzt mal bitte zurück zu meinem Thema. Ich möchte die Szene manuell heller machen. Ich kann natürlich den Backbuffer-Inhalt auf eine Textur kopieren und dann manuell ändern und dann nocheinmal Zeichnen. Leider ist dies sehr langam. Da finde ich meine Idee mit dem PixelShader doch besser.
Danke..
-
Ach ja SetGammaRamp kann man vergessen...
-
Naja TGGC meinte das der BackBuffer vielleicht nicht immer gelockt werden kann.
Back buffer surfaces, which may be accessed using the
IDirect3DDevice9::GetBackBuffer and IDirect3DSwapChain9::GetBackBuffer
methods, may be locked only if the swap chain was created with the Flags
member of the D3DPRESENT_PARAMETERS structure set to include
D3DPRESENTFLAG_LOCKABLE_BACKBUFFER.Also er meint der BackBuffer ist kein normales Surface weil es nicht immer gelockt werden kann.

-
FragtNicht^^ schrieb:
const char acGammaPixelShaderCode[] = "ps.1.1\n"\ "def c0, 1.0,1.0,0.5,0.0\n" "mul r0, v0, c0";Es sollte
def c0, 0.5, 0.5, 0.5, 0.0
heißen.Bei Deiner Version machst Du nur den Blau-Kanal dunkler.
-
FragtNicht^^ schrieb:
Ach ja SetGammaRamp kann man vergessen...
Wieso? Wird seit Jahren von fast jedem Spiel unterstützt. Und außerdem verbrät es keine Füllrate im Gegensatz zu Deiner bisherigen Methode.
-
interpreter schrieb:
Das jemand wie TGGC natürlich nie zugeben würde das er falsch lag, ist natürlich auch klar.
Woher willst du das wissen, warst schließlich noch nie dabei.
FragtNicht^^ schrieb:
Solln wir hier mal nen Battle-Channel aufmachen. So TGGC vs. Rest der Welt
Überschrift: Für alle, die mal verlieren wollen
@dali: Sig ändern nicht vergessen.
Bye, TGGC (Keine Macht den Dummen)
-
TGGC

-
TomasRiker schrieb:
FragtNicht^^ schrieb:
const char acGammaPixelShaderCode[] = "ps.1.1\n"\ "def c0, 1.0,1.0,0.5,0.0\n" "mul r0, v0, c0";Es sollte
def c0, 0.5, 0.5, 0.5, 0.0
heißen.Bei Deiner Version machst Du nur den Blau-Kanal dunkler.
sicher? mit 0.5 gemullt macht es doch sicher dunkler und nicht heller so wie er es möchte.
rapso->greets();