Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Как отрендерить в одной сцене ортогональный задний фон и фигуру в перспективе одновременно ?

Как отрендерить в одной сцене ортогональный задний фон и фигуру в перспективе одновременно ?

Поделиться
раб вакуумной лампыПользовательwww16 июня 20176:21#0
Сабж.

Просто опишите на словах.

SuslikМодераторwww16 июня 20176:59#1
отключаешь z-buffer, ставишь ортогональную матрицу, рендеришь фон. включаешь z-buffer, ставишь перспективную матрицу, рендеришь объект.
iKestПостоялецwww16 июня 20177:36#2
Просто двумя камерами рендериш. Сначала для фона ортогональной, потом для остального перспективной...
раб вакуумной лампыПользовательwww16 июня 20178:46#3
Ну я сделал и так и эдак и всёравно не работает.
Вот псевдокод.
class Main {
 private 
 
   View3D view;
   Mesh plane;
   Mesh figure;
  
 void Main(){
 
  view = new View3D("бла бла");
   
  view.camera = Orthographic();
  plane = new Mesh("бла бла");
 
  view.camera = Perspective();
  figure = new Mesh("бла бла");

  scene.add(plane);
  scene.add(figure);
  
  
  loop(render);
  }
  
  void render()
  {  
     view.render();  
  }
  
}

Правка: 16 июня 2017 8:47

SuslikМодераторwww16 июня 20179:31#4
раб вакуумной лампы
ну так, может быть, для начала имело смысл указать, каким двигом ты пользуешься? телепаты в отпуске как бы. очевидно, так не покатит, потому что у тебя второе присвоение view.camera просто переписывает первое, рендеринг производится с перспективной матрицей.

Правка: 16 июня 2017 9:32

nesПостоялецwww16 июня 201710:02#5
У хомячков unity3d подразумевается по умолчанию )
IvashkaПользовательwww16 июня 201712:15#6
Если не работает подозреваю, не сброшен zbuffer или не произошло переключение проекции. Вообще скрин надо выкладывать неработающего результата.
MisanthropeПостоялецwww16 июня 201722:10#7
раб вакуумной лампы
> Как отрендерить в одной сцене ортогональный задний фон и фигуру в перспективе одновременно ?
если ты не шаришь в элементраных вещах, кто тебе такие сложные задачи ставит? ))
какие книги по программированию графики прочитал?

Правка: 16 июня 2017 22:11

раб вакуумной лампыПользовательwww16 июня 201722:30#8
Misanthrope
Лучше спроси себя - а в твоём движке можно будет рендерить часть обьектов в перспективе, а часть в ортогонали без того чтобы тебе задавать вопросы ? Или надо будет угадывать в интерфейсе класса по названию нужную функцию из сотен "богато" откомментированных ?
MisanthropeПостоялецwww16 июня 201722:46#9
раб вакуумной лампы
> Лучше спроси себя - а в твоём движке можно будет рендерить часть обьектов в
> перспективе, а часть в ортогонали без того чтобы тебе задавать вопросы ?
для решения подобных задач, достаточно понимать принципы, безотносительно движков в общем-то
+ Показать
раб вакуумной лампыПользовательwww16 июня 201722:52#10
Misanthrope
Какие тут принципы если рендер это метод класса к которому у меня нет доступа ? Я же привёл код выше.
iKestПостоялецwww16 июня 201723:07#11
Ну так делай тогда два рендера: фон ортогональным, остальное перспективой, а потом своди их... У тебя в коде действительно получается, что 100500 раз можно режим камеры менять, а отрисовываться всё равно будет по последнему...
MisanthropeПостоялецwww17 июня 20171:53#12
раб вакуумной лампы
> Какие тут принципы если рендер это метод класса к которому у меня нет доступа ?
ну как-то так видимо
+ Показать

что это за срань господня движок?

Правка: 17 июня 2017 11:48

SuslikМодераторwww17 июня 20174:16#13
Misanthrope
> что это за срань господня движок?
что-то мне подсказывает, что это — никакой не движок, а автор просто выкинул из кода всё, что считает ненужным. ну, собственно, ту часть, например, где камера устанавливается.

/ Форум / Программирование игр / 2D графика и изометрия

2001—2017 © GameDev.ru — Разработка игр