Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Okno w OpenGL

Ostatnio zmodyfikowano 2011-10-16 18:24
Autor Wiadomość
diego997
Temat założony przez niniejszego użytkownika
Okno w OpenGL
» 2011-10-14 23:45:21
Okno w open GL to 400 linii kodu?
P-42116
m4tx
» 2011-10-15 08:11:09
Okna w samym OpenGLu nie utworzysz. Potrzebujesz dodatkowych bibliotek, takich jak WinAPI (~200 linii?), Xlib, czy jakiejś prostej w obsłudze typu SFML (~10 linii). Oczywiście możesz również skorzystać z GLUTa.
P-42120
szyx_yankez
» 2011-10-15 08:50:54
Albo w Allegro5 (~5 lini)...
P-42121
akwes
» 2011-10-15 15:31:35
Albo w SFML ~1 linia ?
P-42148
m4tx
» 2011-10-15 15:43:23
W 1 linii zainkludujesz SFML, zadeklarujesz funkcję main(), utworzysz okno i podepniesz OpenGL? Ciekawe...
P-42149
akwes
» 2011-10-15 16:25:08
Dlaczego od razu z taką ironią? Chciałem się odnieść do Allegro i jego 5 linii.
gdzie sensownie napisany kod wygląda tak, bez tworzenia okna?
C/C++
#include allegro // 1
int main() // 2
{ // 3
    return 0; // 4
} // 5

Dlatego skoro ktoś polecając allegro ominął te linie, postanowiłem zrobić to samo, aby ktoś nie myślał że w SFML trzeba zrobić 2 razy więcej linii. Ale zapomniałem że

utworzenie okna == utworzenie okna + dołączenie bibliotek + deklarowanie funkcji main, która już jest, i mam podpinać opengl, które po prostu można używać w SFML?

Więc jak wygląda to w SFML?
C/C++
#include <SFML/Window.hpp> // liczyć?  no niech będzie 1.

int main() // musi być, nie ważne czy jest SFML czy nie
{ // musi być, nie ważne czy jest SFML czy nie
    sf::Window App( sf::VideoMode( 800, 600, 32 ), "Okno" ); // linia typowa dla sfml to będzie już druga
    glMatrixMode( GL_PROJECTION ); // opengl
    gluPerspective( 90.f, 1.f, 1.f, 500.f ); // opengl
    glMatrixMode( GL_MODELVIEW ); // opengl
    glLoadIdentity(); // opengl
    glTranslatef( 0.f, 0.f, - 200.f ); // opengl
   
    glBegin( GL_POLYGON ); // opengl
    glVertex3f( 0.f, - 50.f, - 50.f ); // opengl
    glVertex3f( - 50.f, 50.f, - 50.f ); // opengl         
    glVertex3f( 50.f, 50.f, - 50.f ); // opengl
    glEnd(); // opengl
    App.Display(); // typowa dla SFML, ale nie przecież niekonieczna
    return 0; // musi być, nie ważne czy jest SFML czy nie
} // musi być, nie ważne czy jest SFML czy nie

Linijki z opengl jakoś nie biorą udziału w tworzeniu okna. Chcemy samo okno, na którym można rysować. Zostanie nam wtedy
C/C++
#include <SFML/Window.hpp>
int main()
{
    sf::Window App( sf::VideoMode( 800, 600, 32 ), "Okno" );
    App.Display();
    return 0;
}

Więc podpięcie SFML do tego co już ma (a main i return ma, jeżeli cokolwiek kompilował) to z grubsza trzy linie.
P-42150
SeaMonster131
» 2011-10-15 17:06:37
Boże, kłócicie się (dyskutujecie) w temacie, który jest całkiem bezsensowny...
P-42151
yoogi
» 2011-10-15 22:14:11
UWAGA! Nie wnoszę nic nowego :)
C/C++
#include <SFML/Window.hpp>int main(){sf::Window App( sf::VideoMode( 800, 600, 32 ), "Okno" );App.Display();return 0;}

Jest jedna linijka :)

Z WinAPI było by analogicznie
P-42157
« 1 » 2
  Strona 1 z 2 Następna strona