Ako na OpenGL - tutorial
-
pipiak
Medium Star
- Príspevky: 321
- Registrovaný: 11 jún 2006, 9:24
- Bydlisko: KE
- Kontaktovať používateľa:
Re: Ako na OpenGL - tutorial
Len tak pre informaciu, to o tej licencii MS je kravina, svoj kod v c# mozes spokojne predat;)
A takisto o tom ze je vyhoda ze opengl je neobjektovy, a samozrejme aj to ze v dx mas viac kodu, nakolko mozes vyuzit zdarma nastroje (enginy aj original od ms) kde vytvorim to co ty v opengl na polstranke 5riadkami:) takze trosku objektivity by sa hodilo;)
Ale thx za zdielanie tutorialov;)
A takisto o tom ze je vyhoda ze opengl je neobjektovy, a samozrejme aj to ze v dx mas viac kodu, nakolko mozes vyuzit zdarma nastroje (enginy aj original od ms) kde vytvorim to co ty v opengl na polstranke 5riadkami:) takze trosku objektivity by sa hodilo;)
Ale thx za zdielanie tutorialov;)
-
johny3212
Star
- Príspevky: 532
- Registrovaný: 17 feb 2008, 19:56
- Bydlisko: Terchova
- Kontaktovať používateľa:
Re: Ako na OpenGL - tutorial
Kod v C# bez riadnej licencie nemozes predavat v ziadnom pripade, musis mat aspon jednu licenciu na MVS. Dalej, Engine je uz uplne ina zalezitost, o tom tu nebola rec. Pisalo sa o renderovacich a zakladnych grafickych schopnostiach Direct3D a OpenGL. Engine je nadstavbova kniznica, tie ma aj Direct3D a aj OpenGL, tu sa pisalo o inom. A ja som pisal, ze DirectX je viac zamerany na hry, ale grafika nie su iba hry. To ci je neobjektovost nevyhoda, nechavam na tvoje zamyslenie.
Nebudem tu s tebou pisat o grafike, ak tvoje znalosti pochadzaju iba z hrania hier
. Ja kodim grafiku nie len pre svoje potesenie, ale aj pracovne.
Vravis, ze kod z Enginu je kratsi, to aj v dakom OpenGL Engine, preco asi?
Nebudem tu s tebou pisat o grafike, ak tvoje znalosti pochadzaju iba z hrania hier
Vravis, ze kod z Enginu je kratsi, to aj v dakom OpenGL Engine, preco asi?
-
pipiak
Medium Star
- Príspevky: 321
- Registrovaný: 11 jún 2006, 9:24
- Bydlisko: KE
- Kontaktovať používateľa:
Re: Ako na OpenGL - tutorial
MVS express je zdarma a mozes ho predavat kolko chces
Viem ze engine je ina vec, ja som to myslel tak ze MS dodava tuto nadstavbu a teda ak niekomu vadi pisat nativne moze pouzit tuto nadstavbu. No a ked kodis grafiku pracovne, tak neviem kde sa ukryva ta efektivita prace ked kodis nativne ?!
Viem ze engine je ina vec, ja som to myslel tak ze MS dodava tuto nadstavbu a teda ak niekomu vadi pisat nativne moze pouzit tuto nadstavbu. No a ked kodis grafiku pracovne, tak neviem kde sa ukryva ta efektivita prace ked kodis nativne ?!
-
johny3212
Star
- Príspevky: 532
- Registrovaný: 17 feb 2008, 19:56
- Bydlisko: Terchova
- Kontaktovať používateľa:
Re: Ako na OpenGL - tutorial
V robote vyvijame vlastny engine nad OpenGL, taku priemyselnu platformu a na nej vyvijam Imerzivne technologie a rozsirenu realitu. Samozrejme, ze sa pouziva xy dalsich kniznic (OpenCV, Collada, Freeimage, Boost ...), ale ja robim vyvoj, tak ta efektivita pri tvorbe produktov je pomalsia, to mas pravdu.
//autoeditácia príspevku (19 Aug 2011, 20:11)
Presunutie tutoriálov na stránky sourceforge.net. Tu ostáva iba volná diskusia. Odkaz na OpenGL tutoriály. Viac sa dočítate v prvom príspevku.
//autoeditácia príspevku (19 Aug 2011, 21:03)
Dosla mi odpoved, ze tie tutorialy su az moc zlozite pre zaciatocnika. Budem rad, ked tu napisete co by ste chceli zmenit a comu konkretne nechapete?
.
//autoeditácia príspevku (19 Aug 2011, 20:11)
Presunutie tutoriálov na stránky sourceforge.net. Tu ostáva iba volná diskusia. Odkaz na OpenGL tutoriály. Viac sa dočítate v prvom príspevku.
//autoeditácia príspevku (19 Aug 2011, 21:03)
Dosla mi odpoved, ze tie tutorialy su az moc zlozite pre zaciatocnika. Budem rad, ked tu napisete co by ste chceli zmenit a comu konkretne nechapete?
-
reDo
Star
- Príspevky: 661
- Registrovaný: 26 apr 2009, 18:36
- Bydlisko: 00100100
- Kontaktovať používateľa:
Re: Ako na OpenGL - tutorial
Ja mam navrh aby si zacal ako kazdy iny tutorial na OpenGL, s nejakymi jednoduchymi vecami ako je vykreslenie stvorca a tych vsetkych veci pricom ukazes napr len stvorec a k ostatnemu das len link lebo je to skoro to iste (to jedine viem
). Tiez by bolo dobre aby si presne popisal kazdu funkciu a ako to vsetko funguje ak by sa dalo aj take veci ako buffery
V dalsom by si mohol dat to meranie FPS, v dalsom by si mohol dat ako hybat kamerov, v dalsom by si mohol dat ako urobit 3D objekt a hybat kamerov a dalej nwm kedze OpenGL nwm
, ale takto by som si to ja predstavoval ak mozes. A najdolezitejsia vec aby si to nedaval do tak vela suborov (lebo sa v tom zle orientuje a len hladam kde co je), ale len do napr myOpenGLFuncs.hpp a myOpenGLFuncs.cpp, a davat vsetko vykreslovanie do jednej funkcie a pod ziadne class zatial a vsetko davat normalne do okna SFML bez toho prepajania a pod zatial pls, a tiez velmi dolezite podla mna aby si sa vzdy zameral na jednu vec a o nej co najviac napisal a ukazal.
Moj nazor, moze byt
? Prosim o nieco taketo
//autoeditácia príspevku (21 Aug 2011, 9:20)
A poriadne vysvetli ako funguje to nastavovanie suradnicoveho systemu
V dalsom by si mohol dat to meranie FPS, v dalsom by si mohol dat ako hybat kamerov, v dalsom by si mohol dat ako urobit 3D objekt a hybat kamerov a dalej nwm kedze OpenGL nwm
Moj nazor, moze byt
//autoeditácia príspevku (21 Aug 2011, 9:20)
A poriadne vysvetli ako funguje to nastavovanie suradnicoveho systemu
-
johny3212
Star
- Príspevky: 532
- Registrovaný: 17 feb 2008, 19:56
- Bydlisko: Terchova
- Kontaktovať používateľa:
Re: Ako na OpenGL - tutorial
Suhlasim, ze tam je toho vela. Prepisem to do viacerych lekcii. Podrobne popisanie funkcii, to je jasne, len nie je na to cas, tak postupnereDo napísal:Ja mam navrh aby si zacal ako kazdy iny tutorial na OpenGL, s nejakymi jednoduchymi vecami ako je vykreslenie stvorca a tych vsetkych veci pricom ukazes napr len stvorec a k ostatnemu das len link lebo je to skoro to iste (to jedine viem). Tiez by bolo dobre aby si presne popisal kazdu funkciu a ako to vsetko funguje ak by sa dalo aj take veci ako buffery
![]()
Pokusim sa co najviac ten kod zjednodusit, ale pri OOP ostavam. Traba si uvedomit, ze tieto tutorialy su pre zaciatocnikov v OpenGL a nie C++A najdolezitejsia vec aby si to nedaval do tak vela suborov (lebo sa v tom zle orientuje a len hladam kde co je), ale len do napr myOpenGLFuncs.hpp a myOpenGLFuncs.cpp, a davat vsetko vykreslovanie do jednej funkcie a pod ziadne class zatial a vsetko davat normalne do okna SFML bez toho prepajania a pod zatial pls.
Takze, ked v dalsej lekcii pridam napr. Texturove mapovanie, tak vznikne minimalne jedna nova trieda Texture, ktora bude v sebe indexovat obrazok na grafickej karte a kazdy novy objekt typu Texture, bude predstavovat novu texturu. Takto dako sa to snaz pochopit.
Dakujem za pripomienky, kludne mi to kritizuj dalej, budem rad
-
reDo
Star
- Príspevky: 661
- Registrovaný: 26 apr 2009, 18:36
- Bydlisko: 00100100
- Kontaktovať používateľa:
Re: Ako na OpenGL - tutorial
Mne by OOP nevadilo ale je to dost neprehladne hentak, jedno v druhom.
Ano suhlasim s tym ze trieda .h .cpp napr texturovanie, ale najcitatelnejsie a najjednoduchsie by to bolo keby si vsetky objekty vytvaral v maine a tam ich aj pouzival a nie ich vnoroval do seba, lebo potom je v tom bordel (moj nazor
). Hlavne to rozclenit do vela lahkych lekcii v ktorych to aj kombinujes obcas aby clovek videl ako to spojit ku sebe a pod.
Keby si mohol tak v nejakej velmi skorej lekcii urobit podrobnu lekciu na suradnicovy system ako ho upravit podla seba a pod veci okolo toho. A mohol by si vysvetlit aj napr tento prikaz co vsetko moze byt v nom a naco sa to pouziva a kedy to mam kde napisat, viem ze hento je na nastavenie modu na zobrazenie
.
A ked mam nejaky kod s ktorym by som chcel pomoct tak kam ho mam postnut, tu alebo tam?
Vopred dakujem.
Ano suhlasim s tym ze trieda .h .cpp napr texturovanie, ale najcitatelnejsie a najjednoduchsie by to bolo keby si vsetky objekty vytvaral v maine a tam ich aj pouzival a nie ich vnoroval do seba, lebo potom je v tom bordel (moj nazor
Keby si mohol tak v nejakej velmi skorej lekcii urobit podrobnu lekciu na suradnicovy system ako ho upravit podla seba a pod veci okolo toho. A mohol by si vysvetlit aj napr tento prikaz
Kód: Vybrať všetko
glMatrixMode(GL_MODELVIEW);A ked mam nejaky kod s ktorym by som chcel pomoct tak kam ho mam postnut, tu alebo tam?
Vopred dakujem.
-
johny3212
Star
- Príspevky: 532
- Registrovaný: 17 feb 2008, 19:56
- Bydlisko: Terchova
- Kontaktovať používateľa:
Re: Ako na OpenGL - tutorial
Do akej miery rozumies v tutorialoch matematickej triede Vector4V v MathType. Ja som pouzil velmi sofistikovny sposob tvorby matematickych vektorov, ale neviem do akej mieri tomu bude rozumiet zaciatocnik, hmm? Jedna sa mi hlavne o Templates, chapes tomu ty?
Jedna sa o univerzalnost. Ty pouzijes iba typ vektora a urcis mu s akou premennou ma robit.
napr:
Vector3V<double> _pos; //znamena, ze sa jedna o premennu, ktora v sebe uchovava 3 vektory v suradnicovej susteve (x,y,z). Ty do spicatych zatvoriek, das typ, ktory budu reprazentovat jednotlive premenne (x, y, z).
Vector3V<double> _pos; //vektor 3 premennych double
_pos.x //je double
_pos.y //je double
_pos.z //je double
Vector3V<int> _pos; //vektor 3 premennych int
_pos.x //je int
_pos.y //je int
_pos.z //je int
Do akej miery chapes pouzitiu a implementacii?
Jedna sa o univerzalnost. Ty pouzijes iba typ vektora a urcis mu s akou premennou ma robit.
napr:
Vector3V<double> _pos; //znamena, ze sa jedna o premennu, ktora v sebe uchovava 3 vektory v suradnicovej susteve (x,y,z). Ty do spicatych zatvoriek, das typ, ktory budu reprazentovat jednotlive premenne (x, y, z).
Vector3V<double> _pos; //vektor 3 premennych double
_pos.x //je double
_pos.y //je double
_pos.z //je double
Vector3V<int> _pos; //vektor 3 premennych int
_pos.x //je int
_pos.y //je int
_pos.z //je int
Do akej miery chapes pouzitiu a implementacii?
-
reDo
Star
- Príspevky: 661
- Registrovaný: 26 apr 2009, 18:36
- Bydlisko: 00100100
- Kontaktovať používateľa:
Re: Ako na OpenGL - tutorial
ja som v mistrovstvi v C++ na poslednej kapitole a urobil som zatial vsetky cvicenia, takze tomuto chapem
len samotnym vektorom budem chapat menej 
-
johny3212
Star
- Príspevky: 532
- Registrovaný: 17 feb 2008, 19:56
- Bydlisko: Terchova
- Kontaktovať používateľa:
Re: Ako na OpenGL - tutorial
Takze tomuto zapisu chapes.
Vektor je zaklad, raz to musis naucit. Zatial pojde o to, ze ked mas bod a chces ho vykreslit v priestore, tak pouzijes iba jednu premennu, kt. v sebe uchova 3 suradnice na 3 osiach.
Pr.: Vytvoris tri premenne
Pr.: Moja trieda
S takouto triedou potom mozes robit rozne matematicke operacie ako scitanie, nasobenie, rotacia vektora, atd.
Kód: Vybrať všetko
template<class TVARVEC>
struct Vector3V
{
public:
TVARVEC x;
TVARVEC y;
TVARVEC z;
Vector3V();
};
Pr.: Vytvoris tri premenne
Kód: Vybrať všetko
double x = 0.0;
double y = 0.0;
double z = 0.0;
glVertex3f(x, y, z); //vykresli bod v strede
Kód: Vybrať všetko
Vector3V<double> _pos (0.0, 0.0, 0.0);
glVertex3f(_pos.x, _pos.y, _pos.z); //vykresli bod v strede
-
reDo
Star
- Príspevky: 661
- Registrovaný: 26 apr 2009, 18:36
- Bydlisko: 00100100
- Kontaktovať používateľa:
Re: Ako na OpenGL - tutorial
j chapem tomu 
Re: Ako na OpenGL - tutorial
Ja sa vam do toho nechcem nejako miesat, ale reDo, neviem sice kolko mas rokov, ale vektory sa ucia cca 3. rocniku na strednej skole. Neviem ci si tento rocnik uz vychodil, alebo len donho pojdes, ale tam sa o vektoroch naucis dost. Potom ti uz staci len vediet syntax ako to zapisat, pretoze v skole ti daju potrebne vedomosti o vektoroch.
-
reDo
Star
- Príspevky: 661
- Registrovaný: 26 apr 2009, 18:36
- Bydlisko: 00100100
- Kontaktovať používateľa:
Re: Ako na OpenGL - tutorial
mam 15, takze zatial som sa o nich neucil 
//autoeditácia príspevku (24 Aug 2011, 20:14)
Vysvetli pls funkciu gluPerspective()
//autoeditácia príspevku (24 Aug 2011, 20:14)
Vysvetli pls funkciu gluPerspective()
Re: Ako na OpenGL - tutorial
ak mozem tu tak: pozna niekto OpenIL popr. ich licenciu?, spolahlivost?
Kód: Vybrať všetko
http://openil.sourceforge.net/-
johny3212
Star
- Príspevky: 532
- Registrovaný: 17 feb 2008, 19:56
- Bydlisko: Terchova
- Kontaktovať používateľa:
Re: Ako na OpenGL - tutorial
Neviem presne na com to je postavene, co som cital, nesluzi to na samotnu grafiku, ale na manipulaciu s formatmi. Takze je to vpoho kniznica, ked poskytuje manipulaciu s tolkymi formatmi. Napr. my v robote pouzivame format .doom na import modelov z 3Dmax, Blender, Autocad do nasho enginu. Minusove body davam, ze ta kniznica nema *.xml wrapper, co povazujem za dôlezity format. Ak sa chcem zamerať na multimedialny obsah, tak odporucam skor OpenCV alebo FreeImage alebo aj SFML ma daku podporu obrazovych formatov.
Inak vysli nove lekcie s nastavenim kamery, nie su este popisane, ale su tam nove zdrojaky.
Inak vysli nove lekcie s nastavenim kamery, nie su este popisane, ale su tam nove zdrojaky.
Re: Ako na OpenGL - tutorial
Tie tutorialy vypadaju v pohode:) len pre zacinajucich by som to spravil ako NEHE okomentovat kazdy riadok kodu co robi (ak sme sa stou funkciou este nestretli alebo ak neni vysvetlena)
napr. mas:
napr. mas:
Kód: Vybrať všetko
stepIterations = 0;
stepStartTime = GetLocalTime();
stepInterval = 0.0025;-
johny3212
Star
- Príspevky: 532
- Registrovaný: 17 feb 2008, 19:56
- Bydlisko: Terchova
- Kontaktovať používateľa:
Re: Ako na OpenGL - tutorial
Ano nie je vysvetleny kazdy riadok, je to zdlhave pisat ten manual, ale som to vysvetlaval v Lekcii 1. Zdrojak nie je moc okomentovany, ale skoro vsetko je v lekciach.
Tymto sa nastavia pociatocne parametre pre pocet volani v Step().
Daj si vypisy do Step() a Draw() a uvidis ako sa vyvazuje volanie. Daj tam daky sleep() a uvidis ako sa ten pomer zmeni.
V tejto funkcii prebieha vyvazovanie volani:
stepIterations sa inkrementuje a while trva pokial je v podmienke s casom. Dlzka trvania podmienky zavisi od toho ako dlho travalo vykreslovanie v Draw(); Cim dlhsie, tak tym neskor sa ukonci podmienka v Step(). Je to potrebne tak spravit, pre zachovanie rovnakeho behu aplikacie pri roznych zatazeniach. Podrobnejsie sa o tom docitas v lekcii.
Take nieco v hoc akych tutorialoch nenajdes, to su aj skusenosti
. V podstate v Step() sa pracuje s CPU a v Draw() s GPU.
Tymto sa nastavia pociatocne parametre pre pocet volani v Step().
Kód: Vybrať všetko
stepIterations = 0; //pocet iteracii v step
stepStartTime = GetLocalTime(); //zaznamena cas zacatia aplikacie
stepInterval = 0.0025; //tymto intervalom sa da nastavit vyvazenost volani Step() oproti Draw();
V tejto funkcii prebieha vyvazovanie volani:
Kód: Vybrať všetko
void Step()
{
while (stepStartTime + stepIterations * stepInterval < GetLocalTime())
{
stepIterations++;
//cout << stepIterations << ":" << "Step is OK: " << endl;
ConnectSDL::Step();
}
}
Take nieco v hoc akych tutorialoch nenajdes, to su aj skusenosti
Re: Ako na OpenGL - tutorial
Re: Ako na OpenGL - tutorial
http://labs.qt.nokia.com/2011/08/24/qt- ... ial-video/ toto by mohla byt dobra ukazka toho ako to robit efektivnejsie
sorry ze vam sem do toho vrtam ale je to OpenGL a je to Tutorial ... ale pridal som to sem lebo zaujmave video... s QML sa hram nejaky cas toto si skusim
sorry ze vam sem do toho vrtam ale je to OpenGL a je to Tutorial ... ale pridal som to sem lebo zaujmave video... s QML sa hram nejaky cas toto si skusim
-
johny3212
Star
- Príspevky: 532
- Registrovaný: 17 feb 2008, 19:56
- Bydlisko: Terchova
- Kontaktovať používateľa:
Re: Ako na OpenGL - tutorial
No ved to nie moc zlozite. Podobne pracujeme v robote, 3D modely sa robia v Blendery, 3Dmax alebo AutoCad, to nie je programovanie, ale modelovanie. Ty potom z Blenderu exportnes model a vo svojom programe si nakodis impoter daneho suboru napr. *.dae, je to nieco podobne ako XML, nahraju sa ti data a model sa zobrazi v tvojom programe. Dalej sa moze dorobit fyzikalny model a mas auticko aj s fyzikou.