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 |
//------------------------------------------------------------------------------ // Name: SwitchAntialiasing() // Desc: Antialiasing / Texturfiltering EIN/AUS - zur Laufzeit umschalten //------------------------------------------------------------------------------ inline void cDX_Interface::SwitchAntialiasing() { if ( m_AntialiasingState == TRUE ) { // Filtering AUS m_AntialiasingState = FALSE; m_D3DDevice->SetSamplerState( 0, D3DSAMP_MAGFILTER, D3DTEXF_NONE); } else { // Filtering EIN - Bilineare Interpolationsmethode m_AntialiasingState = TRUE; m_D3DDevice->SetSamplerState( 0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); } } |
Administrator
Quellcode |
|
1 2 3 4 5 |
m_D3DDevice->SetSamplerState( 0, D3DSAMP_MAGFILTER, D3DTEXF_NONE); => m_D3DDevice->SetSamplerState( 0, D3DSAMP_MAGFILTER, D3DTEXF_POINT); |
Anonymous
unregistriert
Anonymous
unregistriert
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
//------------------------------------------------------------------------------ // Name: GetCurrentPosition() // Desc: x,y Positionen relativ zur aktuellen Zeit ausrechnen //------------------------------------------------------------------------------ inline void cBlob::GetCurrentPosition( D3DXVECTOR3 & refPosition, const UINT & refTimeNowMSec ) { FLOAT diff_t_ms = static_cast<FLOAT>( (Time_end - Time_start) * 1000 ); FLOAT diff_x = static_cast<FLOAT>( X_end - X_start ); FLOAT diff_y = static_cast<FLOAT>( Y_end - Y_start ); FLOAT xpms = static_cast<FLOAT>( diff_x / diff_t_ms ); FLOAT ypms = static_cast<FLOAT>( diff_y / diff_t_ms ); FLOAT t_ver = static_cast<FLOAT>( refTimeNowMSec - ( Time_start * 1000) ); refPosition.x = X_start + ( t_ver * xpms ); refPosition.y = Y_start + ( t_ver * ypms ); refPosition.z = 0.0; } |
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 |
//------------------------------------------------------------------------------ // Name: RenderFrame() // Desc: Rendert Texturen und Font auf Sprite-Objekt //------------------------------------------------------------------------------ inline void cRenderer::RenderFrame() { // :::::::: RENDER - START :::::::: // m_D3D_DEVICE->Clear(0,NULL,D3DCLEAR_TARGET,D3DCOLOR_XRGB(0,0,0),1.0f,0); m_D3D_DEVICE->BeginScene(); m_SPRITE->Begin(D3DXSPRITE_ALPHABLEND); D3DXMatrixIdentity(&m_MATRIX); // Identitätsmatrix zuweisen (scale=1,rotation=1,translation=1) m_SPRITE->SetTransform(&m_MATRIX); // matrix dem sprite zuweisen // Lokale Zeit holen UINT lt_timeNowMsec = TIMEMANAGER->LT_GetCurrentTimeMSec(); UINT lt_timeNowSec = lt_timeNowMsec / 1000; // BLOBS auf Sprite rendern for ( UINT i = 0; i < static_cast<UINT>( m_vBlob.size() ); i++ ) { // Wenn BLOB gerendert werden soll ( ist abhängig von seinen Zeitdefinitionen ) if ( m_vBlob[i]->IsVisibleToRenderer( lt_timeNowSec ) ) { m_vBlob[i]->GetCurrentPosition( m_Blob_xyzPos, lt_timeNowMsec ); // Aktuelle Position feststellen m_vBlob[i]->GetCurrentAnimRect( m_Blob_Crop, lt_timeNowMsec ); // Aktuelle Animationsphase feststellen m_vBlob[i]->GetCurrentARGBValue( m_Blob_ARGB, lt_timeNowMsec ); // Aktuellen ARGB-Wert feststellen // Texturausschnitt auf Sprite rendern m_SPRITE->Draw( m_vBlob[i]->Texture, // Textur &m_Blob_Crop, // Ausschnitt der Textur NULL, // Center &m_Blob_xyzPos, // Screen-position m_Blob_ARGB// Color-Overlay ); } } // ::: INFO-TEXT RENDERN ::: // ( nur wenn gefordert) if ( cUserSettings::GetInstance()->showDebugText ) _renderScreenText(); m_SPRITE->End(); m_D3D_DEVICE->EndScene(); m_D3D_DEVICE->Present(NULL,NULL,NULL,NULL); // // :::::::: RENDER - ENDE :::::::: } |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
//------------------------------------------------------------------------------ // Name: LoadTexture() // Desc: LPDIRECT3DTEXTURE9 - Textur laden //------------------------------------------------------------------------------ inline HRESULT cImage::LoadTexture() { return ( D3DXCreateTextureFromFileA( cDX_Interface::GetInstance()->GetD3DDevice(), Filename.c_str(), &pTexture ) ); } |
Administrator
Werbeanzeige