|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Kaiserludi Mini JLI'ler
Anmeldedatum: 22.07.2004 Beiträge: 27
Medaillen: Keine
|
Verfasst am: 22.07.2004, 21:43 Titel: JLI DirectX9 und Visual C++ Problem mit Texturen |
|
|
Also ich habe mir mal eine kleine "Mini-"Engie aufgebaut halt mit dem DirectGraphics-Stoff aus dem Buch und einem Sound- und nem Inputpart und den Code aus dem Buch her teilweise vom Stil her ein wenig verändert übernommen, weil mir das teilweise nicht so gefiel, wie es im Buch war und dann halt bei jedem neuen Beispiel die entsprechenden Codeteile in meinen Code miteingebaut. Das hat bis einschließlich dem Abschnitt über den Z-Buffer auch keine ernsthaften Probleme verursacht, auch beim Abschnittl über Texturen habe ich dann so verfahren und das Pogramm ließ sich auch ohne weiteres kompilieren. Allerdings wird nicht etwa die Textur auf die Würfel (ich habe statt Dreieck und Würfel lieber 2 Würfel genommen für den Z-Buffe-Test) gepackt, sondern die Würfelseiten nehmen die Hauptfarbe der Textur an, das heißt, bei der blockfield.png z.B. so ein blaugrau, wohlgemerkt halt nur eine Farbe statt der ursprünglich merfarbigen Textur! Ich habe meinen Code mehrmals mit dem Originalcode verglichen und finde keinen Unterschied. Der im Buch erwähnte Code zu dem Beispiel ist bei mir drin und der Rest des Codes hat ja vorher auch keine Fehler produzeirt. Auch scheint die Textur ja irgenwie schon geladen zu werden, sonst würden ja die Farben der Vertices zu sehen sein!
Woran kann das liegen? |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 22.07.2004, 21:49 Titel: |
|
|
entweder an den Texturen (unwahrscheinlich) oder am Quelltext
Zu sagen "ich bin mir ganz sicher das der stimmt" macht keinen Sinn, wenn das Problem offensichtlich am Quelltext liegt. Also, trau dich was und poste ein bsichen von Code. Das sollte die Fehlersuche einfacher gestallten.
(Als ich mein erstes 3D Prog gemacht hab, funktionierte auch nie was. Evtl. Alles nochmal komplett neu schreiben, vieleicht gehts ja dann) _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
Kaiserludi Mini JLI'ler
Anmeldedatum: 22.07.2004 Beiträge: 27
Medaillen: Keine
|
Verfasst am: 22.07.2004, 21:59 Titel: |
|
|
1. Zitat: | entweder an den Texturen (unwahrscheinlich) oder am Quelltext |
Ach ne, ehrlich?
2. Ich dachte halt, es gibt ne Neuerung im Code, die im Bcuh nicht erwähnt wude oder sonst was banales und wollte euch nciht extra den ganzen Code vorwerfen, ist ja auch Arbeit, sich da dann durchzuwühlen
3."ich bin mir ganz sicher das der stimmt" Wo habe ich das denn bitteschön geschrieben? Ich habe nur geschrieben, dass ich keinen Fehler finde, dass da aber einer ist und vermutlich im Quelltext, dass weiß ich selber auch!
4. Naja, auf deine Aufforderung hin mal die Abschnitte im Code, in denen der Fehler liegen dürfte:
Code: |
HWND MAIN::Spiel_initialisieren(HINSTANCE hinst)
{
hwnd = CreateMainWindow(hinst);
Direct3D.Init(hwnd);
Direct3D.SetClearColor(D3DCOLOR_XRGB(0,0,0));
ShowCursor(FALSE); // Windows Cursor ausschalten
Input.initialisieren(hinst, FALSE);
// fps-Variablen
QueryPerformanceFrequency((LARGE_INTEGER*)&freq);
QueryPerformanceCounter((LARGE_INTEGER*)&lastFrame);
// Zeiger, der auf den Vertex Buffer gesetzt wird
BYTE* VertexBufferStart;
// Vertex Buffer für den Würfel anlegen
// die Größe des Vertex Buffer muss mit
// der Größe der Struktur, in der das Dreieck
// gespeichert ist, übereinstimmen
Direct3D.lpD3DDevice->CreateVertexBuffer(sizeof(CubeVertices),
D3DUSAGE_WRITEONLY, D3D_CUSTOMVERTEX,
D3DPOOL_MANAGED, &VB_Cube, NULL);
// Vertex Buffer sperren
VB_Cube->Lock(0, 0, (void**)&VertexBufferStart, 0);
// Vertices des Würfels in den Puffer kopieren
memcpy(VertexBufferStart, CubeVertices, sizeof(CubeVertices));
// Vertex Buffer wieder freigeben
VB_Cube->Unlock();
// Das Vertex-Format festlegen
Direct3D.lpD3DDevice->SetFVF(D3D_CUSTOMVERTEX);
// Viewmatrix anlegen
D3DXMATRIX Viewmatrix;
D3DXMatrixLookAtLH(&Viewmatrix, &D3DXVECTOR3(0.0f, 0.0f, -10.0f),
&D3DXVECTOR3(0.0f, 0.0f, 0.0f),
&D3DXVECTOR3(0.0f, 1.0f, 0.0f));
Direct3D.lpD3DDevice->SetTransform(D3DTS_VIEW, &Viewmatrix);
// Projektionsmatrix anlegen
D3DXMATRIX Projektionsmatrix;
D3DXMatrixPerspectiveFovLH(&Projektionsmatrix, D3DX_PI/4,
(float)SCREEN_BREITE / (float)SCREEN_HOEHE,
1.0f, 1000.0f);
Direct3D.lpD3DDevice->SetTransform(D3DTS_PROJECTION, &Projektionsmatrix);
// Beleuchtung abschalten, da wir sonst ohne Lichtquelle nichts sehen
Direct3D.lpD3DDevice->SetRenderState(D3DRS_LIGHTING, FALSE);
// Texturen laden
D3DXCreateTextureFromFile(Direct3D.lpD3DDevice, "blockfield.png", &Katze);
// D3DXCreateTextureFromFileEx(Direct3D.lpD3DDevice, "Katze.bmp", 310,
// 200, 1, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED,
// D3DX_FILTER_NONE, D3DX_FILTER_NONE,
// 0xFF000000, 0, 0, &Katze);
// D3DXCreateTextureFromFileEx(Direct3D.lpD3DDevice, "Fighter.bmp", 32,
// 32, 1, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED,
// D3DX_FILTER_NONE, D3DX_FILTER_NONE,
// 0xFF000000, 0, 0, &Fighter);
// Optionen für die Texturen einstellen (hier, dass nur die Farben der Textur benutzt werden und nicht die Vertices-Farben untergemischt werden)
Direct3D.lpD3DDevice->SetTextureStageState(0,D3DTSS_COLOROP,D3DTOP_SELECTARG1);
return hwnd;
}
|
Code: |
int WINAPI WinMain(HINSTANCE hinst, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
MSG message;
HWND hwnd = Main.Spiel_initialisieren(hinst);
D3DXMATRIX Rotationsmatrix_X;
D3DXMATRIX Rotationsmatrix_Y;
D3DXMATRIX Rotationsmatrix_Z;
D3DXMATRIX Zwischenergebnis;
D3DXMATRIX Rotationsmatrix;
D3DXMATRIX Translationsmatrix;
D3DXMATRIX Worldmatrix;
int nummer = 0;
float rot_x = 0.0f;
float rot_y = 0.0f;
float rot_z = 0.0f;
float x = 2.0f;
float y = 0.0f;
float z = 0.0f;
float rot_x2 = 0.0f;
float rot_y2 = 0.0f;
float rot_z2 = 0.0f;
float x2 = -2.0f;
float y2 = 0.0f;
float z2 = 0.0f;
// Hauptschleife ////////////////////////////////////////////////////////
while (!done)
{
while(PeekMessage(&message, NULL, 0, 0, PM_REMOVE))
{
TranslateMessage(&message);
DispatchMessage(&message);
}
// SPIEL ////////////////////////////////////////////////////////////
Direct3D.BeginScene();
Input.Tastatur_Update();
Input.Maus_Update();
// Z-Buffer einstellen
if(TASTE(DIK_LSHIFT))
Direct3D.lpD3DDevice->SetRenderState(D3DRS_ZENABLE, TRUE);
if(TASTE(DIK_RSHIFT))
Direct3D.lpD3DDevice->SetRenderState(D3DRS_ZENABLE, FALSE);
// die Quelle für den Würfel setzen
Direct3D.lpD3DDevice->SetStreamSource(0, VB_Cube, 0,
sizeof(CustomVertex));
// Würfel rotieren
if(TASTE(DIK_LCONTROL) || TASTE(DIK_RCONTROL)) // Würfel 2
{
if(TASTE(DIK_F1))
rot_x2+=0.01f;
if(TASTE(DIK_F2))
rot_x2-=0.01f;
if(TASTE(DIK_F3))
rot_y2+=0.01f;
if(TASTE(DIK_F4))
rot_y2-=0.01f;
if(TASTE(DIK_F5))
rot_z2+=0.01f;
if(TASTE(DIK_F6))
rot_z2-=0.01f;
}
else // Würfel 1
{
if(TASTE(DIK_F1))
rot_x+=0.01f;
if(TASTE(DIK_F2))
rot_x-=0.01f;
if(TASTE(DIK_F3))
rot_y+=0.01f;
if(TASTE(DIK_F4))
rot_y-=0.01f;
if(TASTE(DIK_F5))
rot_z+=0.01f;
if(TASTE(DIK_F6))
rot_z-=0.01f;
}
// Würfel verschieben
if(TASTE(DIK_LCONTROL) || TASTE(DIK_RCONTROL)) // Würfel 2
{
if(TASTE(DIK_1))
x2+=0.1f;
if(TASTE(DIK_2))
x2-=0.1f;
if(TASTE(DIK_3))
y2+=0.1f;
if(TASTE(DIK_4))
y2-=0.1f;
if(TASTE(DIK_5))
z2+=0.1f;
if(TASTE(DIK_6))
z2-=0.1f;
}
else // Würfel 1
{
if(TASTE(DIK_1))
x+=0.1f;
if(TASTE(DIK_2))
x-=0.1f;
if(TASTE(DIK_3))
y+=0.1f;
if(TASTE(DIK_4))
y-=0.1f;
if(TASTE(DIK_5))
z+=0.1f;
if(TASTE(DIK_6))
z-=0.1f;
}
// Würfel 1
// Rotation
D3DXMatrixRotationX(&Rotationsmatrix_X, rot_x);
D3DXMatrixRotationY(&Rotationsmatrix_Y, rot_y);
D3DXMatrixRotationZ(&Rotationsmatrix_Z, rot_z);
D3DXMatrixMultiply(&Rotationsmatrix, &Rotationsmatrix_X,
D3DXMatrixMultiply(&Zwischenergebnis,
&Rotationsmatrix_Y,
&Rotationsmatrix_Z));
// Verschiebung
D3DXMatrixTranslation(&Translationsmatrix, x, y, z);
Direct3D.lpD3DDevice->SetTransform(D3DTS_WORLD, &Translationsmatrix);
// Weltmatrix erstellen
D3DXMatrixMultiply(&Worldmatrix, &Rotationsmatrix,
&Translationsmatrix);
Direct3D.lpD3DDevice->SetTransform(D3DTS_WORLD, &Worldmatrix);
// Texture auf die Seite packen
Direct3D.lpD3DDevice->SetTexture(0, Katze);
// Die 12 Triangles des Würfels zeichnen
Direct3D.lpD3DDevice->DrawPrimitive(D3DPT_TRIANGLELIST, 0, 12);
// Würfel 2
// Rotation
D3DXMatrixRotationX(&Rotationsmatrix_X, rot_x2);
D3DXMatrixRotationY(&Rotationsmatrix_Y, rot_y2);
D3DXMatrixRotationZ(&Rotationsmatrix_Z, rot_z2);
D3DXMatrixMultiply(&Rotationsmatrix, &Rotationsmatrix_X,
D3DXMatrixMultiply(&Zwischenergebnis,
&Rotationsmatrix_Y,
&Rotationsmatrix_Z));
// Verschiebung
D3DXMatrixTranslation(&Translationsmatrix, x2, y2, z2);
Direct3D.lpD3DDevice->SetTransform(D3DTS_WORLD, &Translationsmatrix);
// Weltmatrix erstellen
D3DXMatrixMultiply(&Worldmatrix, &Rotationsmatrix,
&Translationsmatrix);
Direct3D.lpD3DDevice->SetTransform(D3DTS_WORLD, &Worldmatrix);
// Die 12 Triangles des Würfels zeichnen
Direct3D.lpD3DDevice->DrawPrimitive(D3DPT_TRIANGLELIST, 0, 12);
Main.fps();
if(TASTE(DIK_RETURN))
{
Grafik2D.Screenshot();
Direct3D.Text("Screenshot wurde erfolgreich geschossen", 0, 0,
D3DCOLOR_XRGB(255,255,255));
}
Direct3D.EndScene();
// ENDE SPIEL ///////////////////////////////////////////////////////
}
Input.beenden();
if(NULL != VB_Cube)
{
VB_Cube->Release();
VB_Cube = NULL;
}
ShowCursor(TRUE); // Windows Cursor wieder anschalten
return message.wParam;
} // Winmain
|
Code: |
// Ludi Visions 3D Engine Direct3d.cpp
// Includes /////////////////////////////////////////////////////////////////
#include "Direct3D.h"
// Funktionen ///////////////////////////////////////////////////////////////
DIRECT3D::DIRECT3D()
{
lpD3D = NULL;
lpD3DDevice = NULL;
lpD3DFont = NULL;
lpBack = NULL;
}
DIRECT3D::~DIRECT3D()
{
CleanUp();
}
// Direct3D initialisieren
BOOL DIRECT3D::Init(HWND hwnd, BOOL bWindowed)
{
// Direct3D-Objekt erzeugen
lpD3D = Direct3DCreate9(D3D_SDK_VERSION);
// Parameter für den Modus festlegen
D3DPRESENT_PARAMETERS PParams;
ZeroMemory(&PParams,sizeof(PParams));
PParams.SwapEffect = D3DSWAPEFFECT_DISCARD;
PParams.hDeviceWindow = hwnd;
PParams.Windowed = FALSE;
PParams.BackBufferWidth = SCREEN_BREITE;
PParams.BackBufferHeight = SCREEN_HOEHE;
PParams.BackBufferFormat = D3DFMT_A8R8G8B8;
PParams.EnableAutoDepthStencil = TRUE; // Z-Buffer aktivieren
PParams.AutoDepthStencilFormat = D3DFMT_D16; // 16Bit Z-Buffer
// Direct3D-Gerät anlegen
lpD3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hwnd,
D3DCREATE_SOFTWARE_VERTEXPROCESSING, &PParams,
&lpD3DDevice);
CreateFont();
// Aktivieren des Z-Buffers
lpD3DDevice->SetRenderState(D3DRS_ZENABLE, TRUE);
return TRUE;
}
// Farbe für den Backbuffer festlegen
void DIRECT3D::SetClearColor(D3DCOLOR Color)
{
ClearColor = Color;
}
// Text an Position x,y ausgeben
void DIRECT3D::Text(LPCSTR Text, int x, int y, D3DCOLOR TextColor)
{
RECT r = { x, y, 0, 0 };
// Größe des Rechtecks berechnen
lpD3DFont->DrawText(Text, -1, &r, DT_CALCRECT, TextColor);
// Text ausgeben
lpD3DFont->DrawText(Text, -1, &r, DT_CENTER, TextColor);
}
// Methoden zum Start/Beenden der Szene
void DIRECT3D::BeginScene(void)
{
// Puffer leeren
lpD3DDevice->Clear(0, 0, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, ClearColor,
1.0f, 0); // Achtung vorletzter Parameter ist ohne Z-Buffer unwichtig, darf bei Verwendung des Z-Buffers nicht 0 sein!!!
lpD3DDevice->BeginScene();
}
void DIRECT3D::EndScene(void)
{
lpD3DDevice->EndScene();
lpD3DDevice->Present(0,0,0,0);
}
// Erzeugen der D3D-Schrift
void DIRECT3D::CreateFont(void)
{
LOGFONT LogFont = { 0 };
strcpy(LogFont.lfFaceName, "Arial");
D3DXCreateFontIndirect(lpD3DDevice,
&LogFont,
&lpD3DFont);
}
// Freigeben der Objekte
void DIRECT3D::CleanUp(void)
{
// testen, ob die Objekt angelegt
// wurden und ggf. freigeben
if(NULL != lpD3DFont)
{
lpD3DFont->Release();
lpD3DFont = NULL;
}
if(NULL != lpBack)
{
lpBack->Release();
lpBack = NULL;
}
if(NULL != lpD3DDevice)
{
lpD3DDevice->Release();
lpD3DDevice = NULL;
}
if(NULL != lpD3D)
{
lpD3D->Release();
lpD3D = NULL;
}
}
|
Denke mal, den Rest braucht ihr nicht, ist ja sonst nur Input, Sound, die Header, etc. und der Post ist auch so schon mehr als lang! |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 23.07.2004, 08:42 Titel: |
|
|
sry gestern wars spät und ich war...
ok, es könnte sein, das du die Texturkoordinaten falsch setzt. Oder das beim Vertexformat ein Fehler ist. Kann ich aber beides nicht sagen, da der Code fehlt.
Sowas kann leicht passieren, wenn du einen Codeteil aus dem buch abschreibts, der von einen früheren Beispiel wár, weil im Buch ja nie der ganze Quelltext ist.
Auch einen Möglichkeit wäre es den kompletten Code von der CD zu laden, und so lange zu verändern, bis er dem entspricht, was du willst. Wenn es zwischendurch nicht mehr funktioniert, weißt du wenigstens genau: Wenn ich Zeile X durch Zeile Y ersetztze gehts nicht mehr. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 23.07.2004, 08:55 Titel: |
|
|
Mag ja sein das es spät war und du ... warst, trotzdem war deine Antwort plausibel und es besteht kein Grund frech zu werden.
Wie gesagt liegt es entweder an den Texturkoordinaten, an irgendwelchen Clamp einstellungen vieleicht auch an Mipmap Einstellungen.
Poste mal bitte dein Vertexformat und den aufbau deines Würfels. _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
Kaiserludi Mini JLI'ler
Anmeldedatum: 22.07.2004 Beiträge: 27
Medaillen: Keine
|
Verfasst am: 23.07.2004, 11:06 Titel: |
|
|
Code: |
// Definition des Vertexformats
#define D3D_CUSTOMVERTEX (D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_TEX1)
struct CustomVertex{
FLOAT x, y, z; // die transformierte Position des Vertex
DWORD color; // die Farbe des Vertex
FLOAT tu, tv; // Texturkoordinaten
};
// die Vertices des Würfels
CustomVertex CubeVertices[] =
{
{ -1.0f, -1.0f, -1.0f, 0xFF00FF00 }, // Vorne
{ -1.0f, 1.0f, -1.0f, 0xFF00FF00 },
{ 1.0f, 1.0f, -1.0f, 0xFF00FF00 },
{ 1.0f, 1.0f, -1.0f, 0xFF00FF00 },
{ 1.0f, -1.0f, -1.0f, 0xFF00FF00 },
{ -1.0f, -1.0f, -1.0f, 0xFF00FF00 },
{ 1.0f, -1.0f, 1.0f, 0x000000FF }, // Hinten
{ 1.0f, 1.0f, 1.0f, 0x000000FF },
{ -1.0f, 1.0f, 1.0f, 0x000000FF },
{ -1.0f, 1.0f, 1.0f, 0x000000FF },
{ -1.0f, -1.0f, 1.0f, 0x000000FF },
{ 1.0f, -1.0f, 1.0f, 0x000000FF },
{ -1.0f, 1.0f, -1.0f, 0xFFFF0000 }, // Oben
{ -1.0f, 1.0f, 1.0f, 0xFFFF0000 },
{ 1.0f, 1.0f, 1.0f, 0xFFFF0000 },
{ 1.0f, 1.0f, 1.0f, 0xFFFF0000 },
{ 1.0f, 1.0f, -1.0f, 0xFFFF0000 },
{ -1.0f, 1.0f, -1.0f, 0xFFFF0000 },
{ 1.0f, -1.0f, -1.0f, 0xFFFFFF00 }, // Unten
{ 1.0f, -1.0f, 1.0f, 0xFFFFFF00 },
{ -1.0f, -1.0f, 1.0f, 0xFFFFFF00 },
{ -1.0f, -1.0f, 1.0f, 0xFFFFFF00 },
{ -1.0f, -1.0f, -1.0f, 0xFFFFFF00 },
{ 1.0f, -1.0f, -1.0f, 0x00FFFF00 },
{ -1.0f, -1.0f, 1.0f, 0xFFFF00FF }, // Links
{ -1.0f, 1.0f, 1.0f, 0xFFFF00FF },
{ -1.0f, 1.0f, -1.0f, 0xFFFF00FF },
{ -1.0f, 1.0f, -1.0f, 0xFFFF00FF },
{ -1.0f, -1.0f, -1.0f, 0xFFFF00FF },
{ -1.0f, -1.0f, 1.0f, 0xFFFF00FF },
{ 1.0f, -1.0f, -1.0f, 0xFF00FFFF }, // Rechts
{ 1.0f, 1.0f, -1.0f, 0xFF00FFFF },
{ 1.0f, 1.0f, 1.0f, 0xFF00FFFF },
{ 1.0f, 1.0f, 1.0f, 0xFF00FFFF },
{ 1.0f, -1.0f, 1.0f, 0xFF00FFFF },
{ 1.0f, -1.0f, -1.0f, 0xFF00FFFF },
};
|
|
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 23.07.2004, 11:18 Titel: |
|
|
Also wie ich das jetzt sehe, hast du gar keine Texturkoordinaten angegeben.
Du hast bloß X-, Y-, und Z-Koordinaten der Vertricen(oder wie auch immer man das schreibt) und die zugehörige Farbe. _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
Kaiserludi Mini JLI'ler
Anmeldedatum: 22.07.2004 Beiträge: 27
Medaillen: Keine
|
Verfasst am: 23.07.2004, 11:33 Titel: |
|
|
es heißt Vertices
Aber du hast Recht, das war der Fehler, wie ich geahnt habe, ziemlich dämlich, was mich ja wundert, ist, dass der Code trotzdem ohne Probleme kompiliert wurde |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 23.07.2004, 11:44 Titel: |
|
|
Kaiserludi hat Folgendes geschrieben: | es heißt Vertices |
oh...
Wird Zeit, dass ich auch mit D3D9 anfange...
Kann es vielleicht sein, dass - wenn eine Struktur so initialisiert wird - die restlichen bzw. nicht angegebenen Member einfach leer lässt? _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 23.07.2004, 12:35 Titel: |
|
|
also ich denke mal, es gab keinen Fehler, weil man ja einfach einen Speicherbereich kopiert hat. Dann wurde manchmal aus der position die Farbe manchmal aus der Farbe die texturkoordinaten usw. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 23.07.2004, 13:10 Titel: |
|
|
Wenn die Debug-Runtime aktiviert gewesen wäre, wäre eine Fehlermeldung gekommen, dass der Vertexbuffer für das Rendern von 12 Elementen dieser Größe zu klein ist.
C. |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|