IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

Diskusia – 1. diel - 3D grafika v OpenGL a C ++ - Úvod a inštalácia

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Avatar
Miroslav Vojtek
Tvůrce
Avatar
Miroslav Vojtek:10.11.2021 23:21

Ahoj super, že se někdo pustil po dlouhé době do tutoriálů pro Opengl. Jsem zvědav jak vyřešíš rychlost rotační matice pro GLM knihovnu, protože pokud vím tak jim to možná blbne doteď. Tedy problém je, že nastavená rychlost otáčení objektu je rozdílná, když to pustíš na rozdílně výkonných PC a i když tomu dáš výpočet synchronizace času snímku tzv. frameTime.

Odpovedať
10.11.2021 23:21
Programování je také evoluce
Avatar
Richard Bleier
Tvůrce
Avatar
Odpovedá na Miroslav Vojtek
Richard Bleier:12.11.2021 0:09

Ahoj,

díky, že tě zaujaly moje OpenGL tutoriály. Pokusím se je psát pravidelně :-)

Co se týče tvého dotazu ohledně synchronizace rychlosti rotace, tak bych tento problém nejspíše vyřešil pomocí tzv. delta time. Knihovna GLFW obsahuje funkci glfwGetTime(), která ti vrátí aktuální time-stamp. Při odečtení času na začátku a konci cyklu získáš delta time, kterým vynásobíš rychlost rotace a tím vypočteš přesnou hodnotu (nejen) rotace. Podle mého názoru jde o poměrně přesný a spolehlivý způsob synchronizace.

pozn.: Jako alternativní knihovna pro měření času by se dala použít <chrono>, avšak záleží na implementaci.

 
Odpovedať
12.11.2021 0:09
Avatar
Miroslav Vojtek
Tvůrce
Avatar
Miroslav Vojtek:12.11.2021 13:51

Ano ať už použiješ jakoukoliv metodu pro výpočet aktuálního snímku, tak i přesto s GLM funkcí pro rotaci se to neotáčí stejně rychle. Proto jsem se musel vzdát knihovny GLM a dát tam upravené pro vlastní použití zdrojové kódy (vektory, matice, a další) od jiných autorů a už to běželo tak jak mělo. Prostě tam GLM má někde myslím bug a asi v použití výpočetní přesnosti pro daný výpočet rotační matice. Ono jak jsem pracoval s tou knihovnou tak tam byly ještě pár drobností, které mně vadily. Jinak je to skvělá knihovna, přehledná a rychle použitelná.

Odpovedať
12.11.2021 13:51
Programování je také evoluce
Avatar
Odpovedá na Miroslav Vojtek
Patrik Valkovič:12.11.2021 18:25

Já používal rotační matici a nebyl s tím problém :D A těch pár bajtů navíc už dnes není zase takový deal.

Odpovedať
12.11.2021 18:25
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
Miroslav Vojtek
Tvůrce
Avatar
Odpovedá na Patrik Valkovič
Miroslav Vojtek:12.11.2021 20:30

Ahoj a používal si vlastní rotační matici nebo tu přes GLM knihovnu a nebo ještě původní už zastaralou glRotatef?

Odpovedať
12.11.2021 20:30
Programování je také evoluce
Avatar
Jáchym Kresta:18. februára 12:34

Místo glm/glm.hpp jsem musel napsat jenom glm.hpp

 
Odpovedať
18. februára 12:34
Avatar
DarkCoder
Člen
Avatar
Odpovedá na Jáchym Kresta
DarkCoder:18. februára 14:05

To proto, že si nastavil cestu do vnitřní složky GLM nikoli do té vnější.

Odpovedať
18. februára 14:05
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zatiaľ nikto nevložil komentár - buď prvý!