Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/model/vertexarray.cc')
-rw-r--r--src/model/vertexarray.cc23
1 files changed, 7 insertions, 16 deletions
diff --git a/src/model/vertexarray.cc b/src/model/vertexarray.cc
index dc5e23e..8509dc6 100644
--- a/src/model/vertexarray.cc
+++ b/src/model/vertexarray.cc
@@ -21,10 +21,9 @@ VertexArray::VertexArray(size_t size)
vertex_instance = this;
vertex_size = size * 1024*1024; // megabytes
vertex_size = vertex_size / sizeof(float); // sizeof float
- vertex_size = vertex_size / 4; // 4 arrays
+ vertex_size = vertex_size / 3; // 3 arrays
vertex_vertex = (float *) malloc(vertex_size * sizeof(float));
- vertex_color = (float *) malloc(vertex_size * sizeof(float));
vertex_normal = (float *) malloc(vertex_size * sizeof(float));
vertex_texture = (float *) malloc(vertex_size * sizeof(float));
@@ -38,7 +37,6 @@ VertexArray::~VertexArray()
{
free(vertex_vertex);
free(vertex_normal);
- free(vertex_color);
free(vertex_texture);
vertex_instance = 0 ;
@@ -50,7 +48,6 @@ void VertexArray::clear()
vertex_overflow = false;
memset(vertex_vertex, 0, sizeof(vertex_vertex));
- memset(vertex_color, 0, sizeof(vertex_color));
memset(vertex_normal, 0, sizeof(vertex_normal));
memset(vertex_texture, 0, sizeof(vertex_texture));
@@ -75,7 +72,6 @@ void VertexArray::add_sphere()
}
// draw body
- math::Color white(1.0f, 1.0f, 1.0f);
math::Vector3f v;
math::Vector3f n;
float texx, texy;
@@ -94,14 +90,14 @@ void VertexArray::add_sphere()
n.normalize();
texx = (float)i/(float)(SPHERESEGMENTS-1);
texy = -costable[j]/2 + 0.5f;
- add_vertex(v, n, white, texx, texy);
+ add_vertex(v, n, texx, texy);
v = math::Vector3f(r1*costable[i], r1*sintable[i], costable[j+1]);
n = v;
n.normalize();
texx = (float)i/(float)(SPHERESEGMENTS-1);
texy = -costable[j+1]/2 + 0.5f;
- add_vertex(v, n, white, texx, texy);
+ add_vertex(v, n, texx, texy);
quad_count++;
}
@@ -122,14 +118,14 @@ void VertexArray::add_sphere()
n.normalize();
texx = 1-(float)i/(float)(SPHERESEGMENTS-1);
texy = -costable[j]/2 + 0.5f;
- add_vertex(v, n, white, texx, texy);
+ add_vertex(v, n, texx, texy);
v = math::Vector3f(r1*costable[i], r1*sintable[i], costable[j+1]);
n = v;
n.normalize();
texx = 1-(float)i/(float)(SPHERESEGMENTS-1);
texy = -costable[j+1]/2 + 0.5f;
- add_vertex(v, n, white, texx, texy);
+ add_vertex(v, n, texx, texy);
}
}
@@ -138,7 +134,7 @@ void VertexArray::add_sphere()
delete[] costable;
}
-size_t VertexArray::add_vertex(math::Vector3f const &v, math::Vector3f const &n, math::Color const &color, float tex_x, float tex_y)
+size_t VertexArray::add_vertex(math::Vector3f const &v, math::Vector3f const &n, float tex_x, float tex_y)
{
if (vertex_index + 3 >= vertex_size) {
if (!vertex_overflow) {
@@ -152,14 +148,9 @@ size_t VertexArray::add_vertex(math::Vector3f const &v, math::Vector3f const &n,
vertex_vertex[vertex_index+i] = v[i];
vertex_normal[vertex_index+i] = n[i];
}
-
- vertex_color[vertex_index] = color.r;
- vertex_color[vertex_index+1] = color.g;
- vertex_color[vertex_index+2] = color.b;
-
+
vertex_texture[vertex_index] = tex_x;
vertex_texture[vertex_index+1] = tex_y;
- // reserved
vertex_texture[vertex_index+2] = 0;
vertex_index += 3;