Historique des modifications - Message

Message #9666

Sujet: Paging terrain


Type Date Auteur Contenu
Création du message 30-01-2011 12:48:15 nico
Bon je vous félicite pour votre boulot les gars,
Mais à cause de mon manque de connaissance, je ne revelerai que les défauts que j'apperçoi, donc désolé pour les compliments, on verra plus tard wink (soyez fort)
exemple: code d'irrlicht repris en masse:

Code c++ :


//Take from the irrlicht source code
void CTerrainSceneNode::calculateNormals ( scene::SMeshBufferLightMap* pMeshBuffer, s32 Size)
{
    s32 count;
    core::vector3df a, b, c, t;

    for (s32 x=0; x<Size; ++x)
        for (s32 z=0; z<Size; ++z)
        {
            count = 0;
            core::vector3df normal;

            // top left
            if (x>0 && z>0)
            {
                a = pMeshBuffer->Vertices[(x-1)*Size+z-1].Pos;
                b = pMeshBuffer->Vertices[(x-1)*Size+z].Pos;
                c = pMeshBuffer->Vertices[x*Size+z].Pos;
                b -= a;
                c -= a;
                t = b.crossProduct ( c );
                t.normalize ( );
                normal += t;

La première optimisation que je voit, c'est éradiquer tout les calculs inutiles, selon moi un calcul ne devrait être effectué qu'une seule fois*, je propose donc qu'on perde quelques octets de ram pour stocker les résultats dans une pseudo mémoire cache, afin de gagner beaucoup de cpu wink
Bon ça je parie que tu l'a déjà fait Magun ? allez fait voir ton code.... smile
Je vais effectuer des tests... à tout à l'heure.

*Je met une étoile pour désextremiser le sens, au cas ou on me ferait un procès wink

Retour

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
167 invités en ligne
membre en ligne: -
RSS Feed