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
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
// Datei: mein.cpp #include <windows.h> #include <string> #include "TDX_E/TDX_Direct3D9.h" #include "TDX_E/TDX_Log.h" #include "TDX_E/TDX_Color.h" #include "TDX_E/TDX_Vector3.h" HWND hwnd; TDX_Direct3D9* g_TDX; struct SVertex { TDX_Vector3 vPosition; DWORD dwColor; static const DWORDdwFVF; }; const DWORD SVertex::dwFVF = D3DFVF_XYZ | D3DFVF_DIFFUSE; void Render(float time) { TDX_Matrix mRotation(TDX_RotationYMatrix(DEG_TO_RAD( time*90 ))); TDX_Matrix mTranslation(TDX_TranslationMatrix(TDX_Vector3(0.0f,0.0f,2.0f))); TDX_Matrix mWorld(mRotation*mTranslation); g_TDX->GetDevice()->SetTransform(D3DTS_WORLD,(D3DMATRIX*)(&mWorld)); SVertex Vertex[3]; Vertex[0].vPosition = TDX_Vector3(0.0f, 1.0f, 0.0f); Vertex[1].vPosition = TDX_Vector3(1.0f, -1.0f, 0.0f); Vertex[2].vPosition = TDX_Vector3(-1.0f, -1.0f, 0.0f); Vertex[0].dwColor = TDX_Color(1.0f,0.0f,0.0f); Vertex[1].dwColor = TDX_Color(0.0f,1.0f,0.0f); Vertex[2].dwColor = TDX_Color(0.0f,0.0f,1.0f); // Draw g_TDX->GetDevice()->Clear(0,NULL,D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,TDX_Color(0.15f,0.15f,0.15f),1.0f,0); g_TDX->GetDevice()->BeginScene(); if(FAILED(g_TDX->GetDevice()->DrawPrimitiveUP(D3DPT_TRIANGLELIST,1,Vertex,sizeof(SVertex)))) { WriteToLog("[DrawPrimitiveUP]: failed!","color:red"); } g_TDX->GetDevice()->EndScene(); g_TDX->GetDevice()->Present(NULL,NULL,NULL,NULL); } void Move(float time) { } int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil) { TDX_Direct3D9 TDX(&hwnd,&hThisInstance,ENG); g_TDX = &TDX; if(g_TDX->Init() == TDX_OK) { /* Init Scene */ HRESULT hResult; if(FAILED(hResult = g_TDX->GetDevice()->SetFVF(D3DFVF_XYZ | D3DFVF_DIFFUSE))) { WriteToLog("[InitScene]: failed!","color:red; font-family:'Arial Black'"); } g_TDX->GetDevice()->SetRenderState(D3DRS_LIGHTING,false); g_TDX->GetDevice()->SetRenderState(D3DRS_CULLMODE,D3DCULL_NONE); g_TDX->GetDevice()->SetRenderState(D3DRS_DITHERENABLE,true); TDX_Matrix TDXM = TDX_ProjectionMatrix( DEG_TO_RAD(45.0f), g_TDX->GetWidth()/g_TDX->GetHeight(), 0.1f, 100.0f); g_TDX->GetDevice()->SetTransform( D3DTS_PROJECTION, (D3DMATRIX*) (&TDXM)); WriteToLog(TDX_GetString(TDXM)); /* ========== */ g_TDX->DoMessageLoop(Move,Render); } g_TDX->Exit(); return 0; } |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
// Datei: TDX_Direct3D9.cpp /* Init / Exit */ TDX_Result TDX_Direct3D9::Init() { TDX_Result TRes = GetDirect3DParameters(&Para); InitWindow(Para.VideoMode.Width,Para.VideoMode.Height); D3DInit(&Para); return TRes; } TDX_Result TDX_Direct3D9::Exit() { D3DExit(); ExitWindow(); } |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
// Datei: TDX_Matrix.h ////////////////////// // TDX_Matrix-Class // ////////////////////// class TDX_Matrix { public: /* ====( Matrix-Vars )==== */ union { struct { float M11,M12,M13,M14, M21,M22,M23,M24, M31,M32,M33,M34, M41,M42,M43,M44; }; float m[4][4]; }; /* ====( Konstruktors )==== */ TDX_Matrix(); TDX_Matrix( const TDX_Matrix& m ); TDX_Matrix( float M11, float M12, float M13, float M14, float M21, float M22, float M23, float M24, float M31, float M32, float M33, float M34, float M41, float M42, float M43, float M44 ); /* ====( Assignment-Operators )==== */ TDX_Matrix operator=(const TDX_Matrix& v); TDX_Matrix operator*=(const TDX_Matrix& v); TDX_Matrix operator/=(const TDX_Matrix& v); TDX_Matrix operator+=(const TDX_Matrix& v); TDX_Matrix operator-=(const TDX_Matrix& v); /* ====( Comparison-Operators )==== */ bool operator==(const TDX_Matrix& v); bool operator!=(const TDX_Matrix& v); /* ====( Access-Operators )==== */ float& operator() (const int& Row, const int& Column); float operator() (const int& Row, const int& Column) const; }; // ... // kA warum ich hierfür ne eigene Funktion geschrieben hab ^^ /* Projektions Translation */ inline TDX_Matrix TDX_ProjectionMatrix(float RAD, float Relation, float NC, float FC) { D3DXMATRIX matProj; D3DXMatrixPerspectiveFovLH( &matProj, RAD, Relation, NC, FC ); TDX_Matrix ProjectionMatrix( matProj(1,1),matProj(1,2),matProj(1,3),matProj(1,4), matProj(2,1),matProj(2,2),matProj(2,3),matProj(2,4), matProj(3,1),matProj(3,2),matProj(3,3),matProj(3,4), matProj(4,1),matProj(4,2),matProj(4,3),matProj(4,4)); return ProjectionMatrix; } // ... |
C-/C++-Quelltext |
|
1 2 3 4 |
while(true) { printf("Schon wieder aufgehangen!?"); } |
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »PeterPanzki07« (23.05.2010, 00:05)
C-/C++-Quelltext |
|
1 |
D3DXMatrixLookAtLH(&ViewMatrix, &D3DXVECTOR3(1,0,10), &D3DXVECTOR3(0,0,0), &D3DXVECTOR(0,0,1)); |
C-/C++-Quelltext |
|
1 2 3 4 |
while(true) { printf("Schon wieder aufgehangen!?"); } |
C-/C++-Quelltext |
|
1 2 3 4 |
while(true) { printf("Schon wieder aufgehangen!?"); } |
Werbeanzeige