#unity3d #gamedev #opengl

Ma ktoś jakieś dobre materiały do nauki shaderów (tego języka używanego w unity)? Chciałem się tego nauczyć ale za cholerę nie mogę znaleźć tego wytłumaczonego od podstaw
  • 23
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@UZ01: nie rozumiesz zbytnio czym jest CGFX, już tłumaczę: Od dawien dawna istniały dwie wiodące biblioteki grafiki: ogl i dx, one z czasem wprowadziły swoje własne języki shaderów, aby móc kontrolować pipeline lepiej, z początku wierzchołków dla możliwości cieniowania i oświetlenia (stąd shadery). Jak się bardziejrozwinęły te GLSL i HLSL, to Nvidia stworzyła CGFX, który wziął najlepsze elementy obu i zunifikował to w jednym języku.

Biblioteka CGFX działa tak, że
  • Odpowiedz
#opengl

Mirki szukam jakiś materiałów do nauki openGL'a. Tylko interesuje mnie tutorial w którym już powstaje jakiś konkretny projekt (gra) i na jego podstawie uczę się jak to ma wyglądać. Coś na zasadzie "Projektowanie gier w środowisku Unity 3.x" w którym to opisane jest jak stworzyć grę na konkretnych przykładach. Podstawy już jakieś mam i teraz chciałbym już stworzyć coś bardziej konkretnego.

Myślałem też na zrobieniu mojej mini gry w
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Nauka OpenGL, od czego zacząć? Znacie jakieś dobre tutoriale lub książki?

Znalazłem parę, ale większość z nich jest już trochę stara, materiałów do nauki jest naprawdę mało.

#programowanie #opengl
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Cześć, potrzebuję zwizualizować sobie mój manipulator. Aplikacje piszę w Qt (interesuje mnie multiplatformowość) i do wizualizacji chciałbym wykorzystać OpenGL (jako widżet). Prawie w ogóle nie znam OGLa i nie chciałbym się babrać w shadery i całą resztę. Szukam czegoś w czym da się łatwo stworzyć obiekty (są proste, więc jakiś extrude wystarczy)(chyba nie potrzebuję ładowania modeli), przesuwać i obracać je. Idealnym przykładem tego czego szukam jest Three.js. Wiem, że jest klon Three.js
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Próbuję napisać prostą aplikację w Qt i Opengl, która wyświetla prostokąt w miejscu mojego kliknięcia myszą- niby działa, ale nie za bardzo wiem jak przeliczyć współrzędne kliknięcia w Qt na OpenGlowskie- Kiedy klikam w lewy górny róg, kwadrat pokazuje się na środku, a kiedy w prawy dolny kwadrat pokazuje się tam gdzie powinien być. Domyślam się, że po prostu mam pkt 0 openGla na środku ekranu, ale zwykłe przesuwanie nic tu nie
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mireczki, jest wśród was jakiś specjalista od programowania grafiki w OpenGL? Próbuję zaimplementować skuteczny frustum culling, ale niestety chyba źle obliczam granice stożka widzenia, bo widzę jak obiekty znikają na ekranie, tak jakby granica cullingu przebiegała nie tam gdzie trzeba. Może ktoś podpowiedzieć w jaki sposób wy to rozwiązaliście? Ja próbuję wyliczać równania poszczególnych płaszczyzn z przemnożenia macierzy model * projection, potem sprawdzam odległość obiektu otoczonego bounding sferą do każdej z płaszczyzn
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@tell_me_more: Wrzuciłem absolutne minimum żeby zrozumieć co się tam właściwie dzieje, nie chciałem zasypywać kodem bo i tak tego trochę jest :)

Narazie wklejam na pastebin, może jak skończę to wrzucę cały projekt na GITa, ale to do przemyślenia jeszcze.

http://pastebin.com/0TW3dMVH

edit: myślę, że też zrobię podobnie postaram się narysować ten stożek jaki wychodzi z obliczeń i sprawdzę jak się zachowuje - póki co sprawdzałem wizualnie, plus ustawiałem aktualizację np.
  • Odpowiedz
@Shilghter: hm, tak na pierwszy rzut oka, to skorzystaj z jakiejś biblioteki albo zrób sobie funkcje do mnożenia macierzy. Bo sprawdzanie ręcznie 20 linijek typu

clip[ 4] = model[ 4] * projection[ 0] + model[ 5] * projection[ 4] + model[ 6] * projection[ 8] + model[ 7] * projection[12];
czy gdzieś nie ma indeksu złego jest trochę słabe, i ja np. nie mam pewności, że tam nie ma błędu, choć z
  • Odpowiedz
@blisher:

i to jest to czego nigdy nie zrozumiem, ludzie ktorzy maja glowe na karku lub tez poswieca duuuzo czasu na poznanie jakiegos dosc ciezkiego moim zdaniem kawalka gospodarki maja lekcewarzacy stosunek do swojej wiedzy i umiejetnosci

jak pamietam swoje studia to programowac nauczylo sie w stopniu 3-5% moze 2-3 osoby na roku, dla innych byla to najczarniejsza magia, starszniejsza niz analiza matematyczna w nagorszym
  • Odpowiedz
Powtórzę pytanie: jest tu jakiś ekspert od OpenGL? Piszę sobie w C++ i potrzebuję użyć kilku tekstur w programie, ale nie do końca wiem jak to zrobić, ciągle wszystko mam jedną teksturą.

Kod

Potem używam tego tak:

glBindTexture(GL_TEXTURE_2D,
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Czy jest tu jakiś ekspert od OpenGL? Piszę sobie w C++ i potrzebuję użyć kilku tekstur w programie, ale nie do końca wiem jak to zrobić, ciągle wszystko mam jedną teksturą.

glBindTexture()
wydaje się działać tylko raz, nieważne czy jako parametr podaję ID tekstury, czy nulla

#programowanie #opengl
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

equation


Specifies the address of an array of four double-precision floating-point values.


These values are interpreted as a plane equation.


czyli,
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Próbuję przenieść swój kod OpenGl z GLUTa do okienka w qtCreatorze i w tym celu skopiowałem sobie klasę z http://blog.matthew.org.pl/2010/04/17/kurs-qt-czesc-8-opengl/ ,

http://pastebin.com/YNHh5iW7

ale próba kompilacji wywala mnóstwo błędów o niezadeklarowanych funkcjach opengl.

Kiedy
d.....n - Próbuję przenieść swój kod OpenGl z GLUTa do okienka w qtCreatorze i w tym ...

źródło: comment_hZL0nf72SEgDbBhiNbMcn7XrtxTBxlEp.jpg

Pobierz
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@duffman: w kodzie z artykułu do którego linkujesz jest używane Qt 4

w jakimś swoim projekcie mam coś takiego (działa pod Qt 5.2.0 MSVC2010 32bit OpenGL):

w pliku .pro: QT +=
  • Odpowiedz