Historique des modifications - Message

Message #10396

Sujet: C++ Création d'une sphere icosa


Type Date Auteur Contenu
Création du message 22-03-2012 19:52:03 johnplayer
Voilà, pour mon besoin personnel, j'ai codé une classe qui renvoie un buffer contenant une sphere basé sur un icosaèdre.
Pour l'itération, il faut savoir qu'elle doit être entre 0 et 5 compris. L'itération 0 rend une sphère à 20 triangles et chaque itération multiplie par 4 le nombre de triangles pour arriver à 20480 pour une itération de 5.
Les buffers étant limités à 65536 vertices et les triangles étant tous séparés (3 vertices par triangles, pour des raisons de texturing et manipulations), il est impossible d'aller au-dessus de 5 itérations.
Maintenant, si quelqu'un à des suggestions d'améliorations, qu'il n'hésite pas! Je modifierais le code dès que possible.




SphereIcosa.hSphereIcosa.cppexemple.cpp
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


#ifndef SPHEREICOSA_H
#define SPHEREICOSA_H

#include "irrTypes.h"
#include "vector3d.h"
#include "aabbox3d.h"
#include "CMeshBuffer.h"
#include "SMaterial.h"


class SphereIcosa
{
    public:
        SphereIcosa(irr::video::SMaterial material, irr::f32 rayon=1, irr::u8 iterations=0);
        SphereIcosa(irr::f32 rayon=1, irr::u8 iterations=0);
        virtual ~SphereIcosa();

        bool createNewSphere(irr::f32 rayon=1, irr::u8 iterations=0);
        irr::scene::SMeshBuffer* getBufferCopy();
        irr::video::SMaterial& getMaterial();
        void setMaterial(irr::video::SMaterial material);
        irr::core::aabbox3df& getBoundingBox();

    protected:
        irr::f32 Rayon;
        irr::u8 NbIterations;
        irr::scene::SMeshBuffer* Buffer;
        irr::core::aabbox3df BoundingBox;

        void createBoundingBox();

    private:

};

#endif // SPHEREICOSA_H


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
485 invités en ligne
membre en ligne: -
RSS Feed