PrimitiveCube::PrimitiveCube() { m_position = Vec3(0.0f); m_scale = Vec3(1.0f); m_rotation = Vec3(0.0f); m_color = Colors::White; m_vBuffer = new VBuffers::PCVBuffer(COLOR_VERT_COUNT); m_iBuffer = new GLIndexBuffer(COLOR_INDEX_COUNT); m_usingCustomWorld = false; init_shader_program(); init_color_vi_buffers(); }
PrimitiveTube::PrimitiveTube(float outRadius, float inRadius, float height, size_t subdivisions, Color c) { m_rotationX = 0.0f; m_rotationY = 0.0f; m_rotationZ = 0.0f; m_position = Vec3(0.0f, 0.0f, -5); m_vBuffer = new VBuffers::PCVBuffer(32); m_iBuffer = new GLIndexBuffer(SPHERE_INDEX_COUNT); m_subdivisions = subdivisions; m_inRadius = inRadius; m_outRadius = outRadius; m_height = height; m_color = c; init_shader_program(); init_color_vi_buffers(); }
void PrimitiveTube::SetSubdivisions(size_t sub) { m_subdivisions = sub; init_color_vi_buffers(); }