Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //===trojkaty start
- glm::vec3 Wierzcholki[6];
- //trojkat1
- Wierzcholki[0] = { glm::vec3(-0.8, 0.8, 0) };
- Wierzcholki[1] = { glm::vec3(-0.6, 0.8, 0) };
- Wierzcholki[2] = { glm::vec3(-0.8, 0.6, 0)};
- //trojkat 2
- Wierzcholki[3] = { glm::vec3(0.0, 0.8, 0) };
- Wierzcholki[4] = { glm::vec3(-0.2, 0.6, 0) };
- Wierzcholki[5] = { glm::vec3(0.2, 0.6, 0) };
- //kwadrat1
- glGenBuffers(1, &VBO);
- glBindBuffer(GL_ARRAY_BUFFER, VBO);
- std::cout << "VBO: " << VBO << std::endl;
- glBufferData(GL_ARRAY_BUFFER, sizeof(Wierzcholki), Wierzcholki, GL_STATIC_DRAW);
- //==trojkaty stop
- //==kwadrat1 start
- glm::vec3 KwadratWsp[4];
- KwadratWsp[0] = { glm::vec3(-0.3, 0.5, 0.0) };
- KwadratWsp[1] = { glm::vec3(-0.0, 0.5, 0.0) };
- KwadratWsp[2] = { glm::vec3(-0.0, 0.2, 0.0) };
- KwadratWsp[3] = { glm::vec3(-0.3, 0.2, 0.0) };
- glGenBuffers(1, &KWADRAT);
- glBindBuffer(GL_ARRAY_BUFFER, KWADRAT);
- glBufferData(GL_ARRAY_BUFFER, sizeof(KwadratWsp), KwadratWsp, GL_STATIC_DRAW);
- //kwadrat1 stop
- //kwadrat2 start
- glm::vec3 KwadratWsp2[4];
- KwadratWsp2[0] = { glm::vec3(0.3, 0.5, 0.0) };
- KwadratWsp2[1] = { glm::vec3(0.8, 0.5, 0.0) };
- KwadratWsp2[2] = { glm::vec3(0.8, 0.0, 0.0) };
- KwadratWsp2[3] = { glm::vec3(0.3, 0.0, 0.0) };
- glGenBuffers(1, &KWADRAT2);
- glBindBuffer(GL_ARRAY_BUFFER, KWADRAT2);
- glBufferData(GL_ARRAY_BUFFER, sizeof(KwadratWsp2), KwadratWsp2, GL_STATIC_DRAW);
- //kwadrat2 stop
- //kwadrat3 start
- glm::vec3 KwadratWsp3[4];
- KwadratWsp3[0] = { glm::vec3(-0.99, -0.1, 0.0) };
- KwadratWsp3[1] = { glm::vec3(-0.1, -0.1, 0.0) };
- KwadratWsp3[2] = { glm::vec3(-0.1, -0.99, 0.0) };
- KwadratWsp3[3] = { glm::vec3(-0.99, -0.99, 0.0) };
- glGenBuffers(1, &KWADRAT3);
- glBindBuffer(GL_ARRAY_BUFFER, KWADRAT3);
- glBufferData(GL_ARRAY_BUFFER, sizeof(KwadratWsp3), KwadratWsp3, GL_STATIC_DRAW);
- //kwadrat3 stop
- //kolo1 start
- glm::vec3 KoloWsp[91];//ilosc wspolrzednych, przy 90 wystarczajace pokrywanie (nie widac ostrych krawedzi)
- int segments = 90; //segmenty - czestotliwosc badania katow
- float r = 0.2; //promien
- float x = 0.3, y = -0.3;//wspolrzedne srodka
- for (int n = 0; n <= segments; n++) {
- //t = kat, radiany, 90st = pi/2, 180 = pi, 270 = 3pi/2, 360 = 2pi
- //(float)n / (float)segments np. krok 90/360 = 1/4, (2pi)*(1/4)=pi/2
- float const t = 2 * 3.14 * (float)n / (float)segments;
- cout << " t: " << n << " " << t;
- cout << " sin(t): " << sin(t) << " cos(t): " << cos(t) << endl;
- //obliczanie wspolrzednych x i y rysowanych trojkatow
- //wspolrzedna srodka *f. trygonom * promien (przeskalowanie do wartosci float)
- KoloWsp[n] = glm::vec3(x + sin(t) * r, y + cos(t) * r, 0);
- //glVertex2f(x + sin(t) * r, y + cos(t) * r);
- }
- glGenBuffers(1, &KOLO);
- glBindBuffer(GL_ARRAY_BUFFER, KOLO);
- glBufferData(GL_ARRAY_BUFFER, sizeof(KoloWsp), KoloWsp, GL_STATIC_DRAW);
- //==kolo1 stop
- //==kolo2 start
- glm::vec3 KoloWsp2[91];//ilosc wspolrzednych, przy 90 wystarczajace pokrywanie (nie widac ostrych krawedzi)
- segments = 90; //segmenty - czestotliwosc badania katow
- r = 0.1; //promien
- x = 0.6; y = -0.6;//wspolrzedne srodka
- for (int n = 0; n <= segments; n++) {
- //t = kat, radiany, 90st = pi/2, 180 = pi, 270 = 3pi/2, 360 = 2pi
- //(float)n / (float)segments np. krok 90/360 = 1/4, (2pi)*(1/4)=pi/2
- float const t = 2 * 3.14 * (float)n / (float)segments;
- //obliczanie wspolrzednych x i y rysowanych trojkatow
- //wspolrzedna srodka *f. trygonom * promien (przeskalowanie do wartosci float)
- KoloWsp2[n] = glm::vec3(x + sin(t) * r, y + cos(t) * r, 0);
- //glVertex2f(x + sin(t) * r, y + cos(t) * r);
- }
- glGenBuffers(1, &KOLO2);
- glBindBuffer(GL_ARRAY_BUFFER, KOLO2);
- glBufferData(GL_ARRAY_BUFFER, sizeof(KoloWsp2), KoloWsp2, GL_STATIC_DRAW);
- //==kolo2 stop
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement