JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=640f082e147aabe8ad3295b441905de7Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

JLI DirectX9 und Visual C++ Problem mit Texturen

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Kaiserludi
Mini JLI'ler



Anmeldedatum: 22.07.2004
Beiträge: 27

Medaillen: Keine

BeitragVerfasst am: 22.07.2004, 21:43    Titel: JLI DirectX9 und Visual C++ Problem mit Texturen Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 22.07.2004, 21:49    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Kaiserludi
Mini JLI'ler



Anmeldedatum: 22.07.2004
Beiträge: 27

Medaillen: Keine

BeitragVerfasst am: 22.07.2004, 21:59    Titel: Antworten mit Zitat

1.
Zitat:
entweder an den Texturen (unwahrscheinlich) oder am Quelltext

Ach ne, ehrlich? Rolling Eyes

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
Benutzer-Profile anzeigen Private Nachricht senden
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 23.07.2004, 08:42    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 23.07.2004, 08:55    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Kaiserludi
Mini JLI'ler



Anmeldedatum: 22.07.2004
Beiträge: 27

Medaillen: Keine

BeitragVerfasst am: 23.07.2004, 11:06    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 23.07.2004, 11:18    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Kaiserludi
Mini JLI'ler



Anmeldedatum: 22.07.2004
Beiträge: 27

Medaillen: Keine

BeitragVerfasst am: 23.07.2004, 11:33    Titel: Antworten mit Zitat

es heißt Vertices Wink
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 Shocked
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 23.07.2004, 11:44    Titel: Antworten mit Zitat

Kaiserludi hat Folgendes geschrieben:
es heißt Vertices Wink

oh... Embarassed
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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 23.07.2004, 12:35    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 23.07.2004, 13:10    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
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

Impressum