source: GTP/trunk/App/Demos/Vis/FriendlyCulling/src/SceneEntityConverter.cpp @ 3245

Revision 3245, 1.1 KB checked in by mattausch, 15 years ago (diff)

pvs seems to work now

Line 
1#include "SceneEntityConverter.h"
2#include "SceneEntity.h"
3#include "Geometry.h"
4#include "Shape.h"
5
6
7using namespace std;
8
9
10namespace CHCDemoEngine
11{
12
13SceneEntity *SceneEntityConverter::ConvertBox(const AxisAlignedBox3 &box,
14                                                                                          Material *mat,
15                                                                                          Transform3 *trafo)
16{
17        SceneEntity *ent = new SceneEntity(trafo);
18
19        vector<Triangle3> triangles;
20
21        box.Triangulate(triangles);
22
23        Vector3 *vertices = new Vector3[36];
24        Vector3 *normals = new Vector3[36];
25
26        for (size_t i = 0; i < triangles.size(); ++ i)
27        {
28                Triangle3 tri = triangles[i];
29
30                vertices[i * 3 + 0] = tri.mVertices[0];
31                vertices[i * 3 + 1] = tri.mVertices[1];
32                vertices[i * 3 + 2] = tri.mVertices[2];
33
34                Vector3 normal = tri.GetNormal();
35
36                normals[i * 3 + 0] = normal;
37                normals[i * 3 + 1] = normal;
38                normals[i * 3 + 2] = normal;
39        }
40
41        Geometry *geom = new Geometry(vertices, normals, NULL, 36, false, NULL);
42
43        Shape *shape = new Shape(geom, mat);
44        ent->AddShape(shape);
45
46        LODLevel lodLevel(0);
47
48        lodLevel.AddShape(shape);
49        ent->AddLODLevel(lodLevel);
50
51        return ent;
52}
53
54
55}
Note: See TracBrowser for help on using the repository browser.