• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Vulkan - premiera.

VPS Starter Arubacloud
0 głosów
238 wizyt
pytanie zadane 19 września 2015 w C i C++ przez emis2000 Obywatel (1,360 p.)
edycja 19 września 2015 przez emis2000
Cześć.

Myślałem nad nauką OpenGL, ale czekam na vulkana i coś się nie mogę doczekać... ma ktoś może jakieś informacje kiedy pojawią się tutoriale/kursy do Vulkana, bo z tego co wiem to jego prezentacja odbyła się w marcu?

1 odpowiedź

+1 głos
odpowiedź 19 września 2015 przez adrian17 Ekspert (344,100 p.)
OpenGL nie zniknie ot tak, wręcz przeciwnie, wciąż będzie bardzo popularną platformą. Uważam że przez pierwszy rok-dwa nia ma za bardzo sensu w ogóle patrzeć na niego, przynajmniej dopóki nie powstaną biblioteki wrapujące jego bardziej niskopoziomowe zachowania.
komentarz 20 września 2015 przez emis2000 Obywatel (1,360 p.)
Ale za ok 4-5 lat chyba nikt OpenGL nie będzie używać prawda?
komentarz 20 września 2015 przez krystian904 Mądrala (6,820 p.)
na pewno ???
komentarz 20 września 2015 przez adrian17 Ekspert (344,100 p.)
edycja 20 września 2015 przez adrian17

Ludzie wciąż uczą się i piszą w bezpośrednim trybie OGL1.x, który ma już 15 lat, i nic nie zapowiada że mają przestać. Dlaczego? Bo OGL3+ jest bardziej niskopoziomowy od OGL1.x, a Vulkan ma być jeszcze bardziej niskopoziomowy.

Dla porównania, tyle potrzeba żeby w OGL1.x w głównej pętli narysować trójkąt:

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

glBegin(GL_TRIANGLES);
    glVertex3f( 0.0f, 1.0f, 0.0f);
    glVertex3f(-1.0f,-1.0f, 0.0f);
    glVertex3f( 1.0f,-1.0f, 0.0f);
glEnd();

window.display();

A w OGL3.x tak wyglądają przygotowania:

GLuint VertexArrayID;
glGenVertexArrays(1, &VertexArrayID);
glBindVertexArray(VertexArrayID);

static const GLfloat g_vertex_buffer_data[] = {
    -1.0f, -1.0f, 0.0f,
    1.0f, -1.0f, 0.0f,
    0.0f,  1.0f, 0.0f,
};

GLuint vertexbuffer;
glGenBuffers(1, &vertexbuffer);
glBindBuffer(GL_ARRAY_BUFFER, vertexbuffer); 
glBufferData(GL_ARRAY_BUFFER, sizeof(g_vertex_buffer_data), g_vertex_buffer_data, GL_STATIC_DRAW);

A tak samo rysowanie:

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

glEnableVertexAttribArray(0);
glBindBuffer(GL_ARRAY_BUFFER, vertexbuffer);
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, (void*)0);
 
glDrawArrays(GL_TRIANGLES, 0, 3);
 
glDisableVertexAttribArray(0);

window.display();

Przy czym pominąłem tu kompilowanie shaderów, inicjalizację GL, tekstury czy nawet kolory. W Vulkanie tego kodu będzie jeszcze kilka razy więcej.

Podobne pytania

0 głosów
0 odpowiedzi 152 wizyt
+1 głos
1 odpowiedź 358 wizyt
pytanie zadane 3 czerwca 2016 w C i C++ przez Avernis Nałogowiec (27,400 p.)
0 głosów
1 odpowiedź 321 wizyt
pytanie zadane 16 listopada 2022 w Systemy operacyjne, programy przez Avernis Nałogowiec (27,400 p.)

92,453 zapytań

141,262 odpowiedzi

319,086 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...