This repository was archived by the owner on Jan 20, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathlab_geometry.cpp
executable file
·57 lines (47 loc) · 2.59 KB
/
lab_geometry.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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
//-------------------------------------------------------------------------------------------------
// Descriere: header in care sunt definite niste functii de desenare rapida
// Nota:
// wrappere peste functii din glut, cand vom invata atribute si vbo-uri si ibo-uri(lab 2 shadere)
// vor deveni utile doar pentru prototipari rapide. Aceste functii NU sunt eficiente!
//
// Nota2:
// singura exceptie in care folosim obiecte din glut in afara namespaceului lab::glut
// in mod normal acestea ar fi implementate manual cu vbo-uri si ibo-uri (lab 2 shadere)
//
// Nota3:
// exista alte multe functii de glut pentru desenare printr-o singura comanda.
//
// Autor: Lucian Petrescu
// Data: 28 Sep 2013
//-------------------------------------------------------------------------------------------------
#pragma once
#include "lab_geometry.h"
namespace lab{
//sfera
void drawSolidSphere(float radius, int slices, int stacks) { glutSolidSphere(radius, slices, stacks); }
static void drawWireSphere(float radius, int slices, int stacks) { glutWireSphere(radius, slices, stacks); }
//cub
static void drawSolidCube(float size){ glutSolidCube(size); }
static void drawWireCube(float size){ glutWireCube(size); }
//con
static void drawSolidCone(float base_radius, float height, int slices, int stacks) { glutSolidCone(base_radius, height, slices, stacks); }
static void drawWireCone(float base_radius, float height, int slices, int stacks) { glutWireCone(base_radius, height, slices, stacks); }
//torus
static void drawSolidTorus(float inner_radius, float outer_radius, int nsides, int rings){ glutSolidTorus(inner_radius, outer_radius, nsides, rings); }
static void drawWireTorus(float inner_radius, float outer_radius, int nsides, int rings){ glutWireTorus(inner_radius, outer_radius, nsides, rings); }
//dodecaedru
static void drawSolidDodecahedron(){ glutSolidDodecahedron(); }
static void drawWireDodecahedron(){ glutWireDodecahedron(); }
//octaedru
static void drawSolidOctahedron(){ glutSolidOctahedron(); }
static void drawWireOctahedron(){ glutWireOctahedron(); }
//tetraedru
static void drawSolidTetrahedron(){ glutSolidTetrahedron(); }
static void drawWireTetrahedron(){ glutWireTetrahedron(); }
//icosaedru
static void drawSolidIcosahedron(){ glutSolidIcosahedron(); }
static void drawWireIcosahedron(){ glutWireIcosahedron(); }
//ceainic (poveste: https://en.wikipedia.org/wiki/Utah_teapot)
static void drawSolidTeapot(float size){ glutSolidTeapot(size); }
static void drawWireTeapot(float size){ glutSolidTeapot(size); }
}