Autor Wątek: Irrlicht - Renderowanie modelu do tekstury.  (Przeczytany 5032 razy)

Offline maciek97p

  • Użytkownik

# Listopad 27, 2011, 14:46:27
Czy wiecie może jak wyrenderować model do tekstury, tak aby tło wokół niego było transparentne?

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Kos

  • Użytkownik
    • kos.gd

# Listopad 27, 2011, 15:17:45
Uh, trzeba ustawić kolor tła na rgba(_,_,_,0.0f), tym kolorem wyczyścić color buffer i wyrysować normalnie model, to będziesz mieć w teksturze to co chcesz. Teraz jak to przełożyć na irrlichta :)

Offline Adam7

  • Użytkownik
    • warsztat.gd

# Listopad 27, 2011, 15:40:43
Kiedyś, jak z ciekawości zajrzałem do SDK Irrlichta to był tam przecież przykład renderingu do tekstury.

Offline maciek97p

  • Użytkownik

# Listopad 28, 2011, 19:07:44
Chodzi o to że chcę osiągnąć takie coś jak w ekranie ekwipunku w Wiedźminie 1, gdzie wyświetlał się model Geralta.

Offline Kos

  • Użytkownik
    • kos.gd

# Listopad 29, 2011, 01:28:01
Możesz to przecież zrobić renderując na ekran bez pośrednich buforów.

Offline maciek97p

  • Użytkownik

# Listopad 29, 2011, 18:40:34
Możesz to trochę rozwinąć? Jestem jeszcze początkujący w irrlichcie i przydałby się kawałek kodu lub jakieś nakierowanie mnie na właściwą śceżkę :) Dziękuję za odpowiedź!

Offline Kos

  • Użytkownik
    • kos.gd

# Listopad 29, 2011, 22:54:15
Wystarczy, że narysujesz (na ekran) interfejs, a następnie na niego naniesiesz model postaci. Byłbym w szoku, gdyby Irrlicht na to nie pozwalał.

Offline deadeye

  • Użytkownik

# Listopad 30, 2011, 00:47:10
oczywiście że pozwala. Coś takiego:
driver->beginScene(true, true, video::SColor(150,50,50,50));

env->drawAll();
smgr->drawAll();

driver->endScene();
gdzie env to środowisko gui, a smgr to menadzer sceny z modelem, który chcesz wyświetlić nad ui (oczywiście musisz odpowiednio ustawić kamerę, żeby model się wyświetlil na ekranie).
« Ostatnia zmiana: Listopad 30, 2011, 00:48:46 wysłana przez deadeye »

Offline Kos

  • Użytkownik
    • kos.gd

# Listopad 30, 2011, 13:18:16
Można w irr mieć kilka scene managerów (jeden na scenę pod GUI i jeden na scenę nad GUI w tym wypadku)?

Offline maciek97p

  • Użytkownik

# Listopad 30, 2011, 16:22:29
Renderuję więc ten model po GUI. Tylko jest jeden problem. Jeśli przed nim stoi jakiś inny model, wtedy zasłania ten z tyłu. Wiecie może jak zrobić żeby model renderował się zawsze na wierzchu?

Offline Kos

  • Użytkownik
    • kos.gd

# Listopad 30, 2011, 16:52:53
Czyścić sam depth buffer po pierwszym przebiegu. (Following: jak to zrobić w Irr?)

Offline deadeye

  • Użytkownik

# Listopad 30, 2011, 18:51:28
Można w irr mieć kilka scene managerów (jeden na scenę pod GUI i jeden na scenę nad GUI w tym wypadku)?
Nie, jak chcesz renderować normalną scene jako tło, to dodajesz wszystko do jednego scene managera, a później renderujesz osobno obie grupy, zamiast drawAll.
Co do czyszczenia depthbuffera, to  IVideoDriver::clearZBuffer()   

Offline maciek97p

  • Użytkownik

# Listopad 30, 2011, 23:03:27
Dzięki bardzo! Naprawdę fajnie działa:) Jak doszlifuję to dam screena na warsztacie.