Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826

    [c++]algoritmi

    Ciao.
    Ho una serie di strutture vertex che ereditano una dall altra partendo da una struttura base VertexBase.
    Ho una serie di classi materiale che ereditano una dall altra partendo da una classe base CMaterialBase.

    Ogni classe Cmaterial utilizza una classe vertex diversa , derivante da VertexBase.

    A seconda del tipo di struttura usata la classe materiale ha diversi algoritmi che cambiano per creare ,riempire e modificare un buffer e fare altre cose.

    Posso separare questi algoritmi dalla struttura della classe materiale ?
    utilizzando l'ereditarietà derivo ad es da fillvertex e implemento l'algoritmo specifico .

    ho pero vari "pezzi" di una funzione da separare , ad es:
    codice:
    UINT stride = sizeof( SimpleVertexText );
        UINT offset = 0;
    	m_pDevice->IASetVertexBuffers( 0, 1, &m_pVertexBuffer, &stride, &offset );
    	m_pDevice->IASetIndexBuffer( m_pIndexBuffer, DXGI_FORMAT_R32_UINT, 0 );
    	
    
    	m_pWorldVariable->SetMatrix( ( float* )&mWorld );
    	m_pViewVariable->SetMatrix( ( float* )&mView );
    	m_pProjVariable->SetMatrix( ( float* )&mProjection );
    
    	//*************************qui devo poter settare altre variabili
    
    	m_pDevice->IASetPrimitiveTopology( D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST );
    
    
    	int m_nIndexCount = m_pSubMeshData->GetIndexCount();
    	D3D10_TECHNIQUE_DESC techDesc;
    	m_pTechniqueRender->GetDesc( &techDesc );
    
           /***************************qui devo poter aggiungere altre cose
    	for( UINT p = 0; p < techDesc.Passes; ++p )
        {
    		m_pTechniqueRender->GetPassByIndex( p )->Apply( 0 );
            m_pDevice->DrawIndexed(m_nIndexCount, 0, 0 );
    
        }
    pensavo di spezzettare la funzione principale in sottofunzioni da implementare diversamente a seconda del tipo di materiale
    mi chiedevo se esistono metodi migliori.
    grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    up

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.