Historique des modifications - Message

Message #10396

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


TypeDateAuteurContenu
Création du message22-03-2012 19:52:03johnplayer
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

OptionsLiens officielsCaractéristiquesStatistiquesCommunauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1441 sujets
11339 messages
Dernier membre inscrit: Saidov17
90 invités en ligne
membre en ligne: -
RSS Feed