PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Rendern ohne VertexBuffer mit MDX


DX
2005-02-02, 07:14:55
Ist es möglich ohne einen VertexBuffer Daten aus einem CustomVertex.TransformedColored Array zu rendern?
Ich frage deshalb, weil meine Daten ohnehin nicht mehr in den Graka Ram
passen und ich durch den VertexBuffer nur noch mehr Ram verbrauche.

DX
2005-02-03, 07:08:58
*push*

Coda
2005-02-03, 13:02:20
In DX brauchst du generell einen Vertexbuffer zum rendern.
Aber irgendwie kann ich mir nicht vorstellen dass du >50MB Vertexdaten hast?!?

ScottManDeath
2005-02-03, 14:43:21
Einfacher Plan:

public void (http://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemvoidclasstopic.asp) Device.DrawUserPrimitives(
PrimitiveType (mk:@MSITStore:C:ProgrammeMicrosoft%20DirectX%209.0%20SDK%20(December%202004)Doc umentationDirectX9directx9_m.chm::/directx/ref/ns/microsoft.directx.direct3d/e/primitivetype/primitivetype.htm) primitiveType,
int (http://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemint32classtopic.asp) primitiveCount,
object (http://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemobjectclasstopic.asp) vertexStreamZeroData
);

Besserer Plan:
Einen VertexBuffer anlegen und dann die Daten hineinkopieren die auch gerendert werden müssen. Usage als Dynamic, dann legt der Treiber den Buffer im AGP Speicher ab und das kopieren zur Grafikkarte geht dann recht fix.

DX
2005-02-03, 17:30:33
In DX brauchst du generell einen Vertexbuffer zum rendern.
Aber irgendwie kann ich mir nicht vorstellen dass du >50MB Vertexdaten hast?!?
Die >50 Mb kriege ich ganz leicht voll.
Ich programmiere einen Mandelbrot Renderer und bei einer Auflösung von 1024x780 mit 100 Iteration komme ich locker über 50 Mb wenn ich ich jeden Punkt speichern möchte.

Coda
2005-02-03, 18:57:31
Wär's dann nicht sinnvoller das Ganze einfach als Pixeldaten in den Framebuffer zu schreiben?