forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Проекты C++ (http://forum.boolean.name/forumdisplay.php?f=56)
-   -   axelynx (http://forum.boolean.name/showthread.php?t=14637)

pozitiffcat 10.08.2012 16:47

Ответ: axelynx
 
holydel А у тебя реально работают несколько окон с выводом в каждое разных сцен?

pozitiffcat 10.08.2012 16:48

Ответ: axelynx
 
Цитата:

Сообщение от Den (Сообщение 235920)
чёрное окошко, всё норм.
Лог:
Код:

succers: 512 XIO: fatal IO error 11 (Resource temporarily unavailable) on X server ":0.0" after 2466 requests (2466 known processed) with 0 events remaining.
это нормально?)

у тя линукс на виртуалке чтоли?

den 10.08.2012 16:51

Ответ: axelynx
 
Цитата:

у тя линукс на виртуалке чтоли?
нет, на реальной.

HolyDel 10.08.2012 16:57

Ответ: axelynx
 
Цитата:

holydel А у тебя реально работают несколько окон с выводом в каждое разных сцен?
пока нет. но в планах было чтобы на разные окошки можно было вывести разную графику.
надо будет немного менять архитекутуру в получении Canvas-ов, и там вывод 2д графики.

Цитата:

succers: 512 XIO: fatal IO error 11 (Resource temporarily unavailable) on X server ":0.0" after 2466 requests (2466 known processed) with 0 events remaining.
хз что ето такое :)
в самом html-файле логов ничего нет? окошко как я понял не появилось?

pozitiffcat 10.08.2012 17:01

Ответ: axelynx
 
там какая то фишка с переключением контекстов при рендере в разные окна... причем не кроссплатформенная вроде...

HolyDel 10.08.2012 17:10

Ответ: axelynx
 
окна тоже не кроссплатформенны.

думаю будет либо как-то так:
Код:

Camera *cam1 = scene1->AddCamera(win1->GetCanvas());
Camera *cam2 = scene2->AddCamera(win2->GetCanvas());
...
scene1->Render();
scene2->Render();
win1->Flip();
win2->Flip();

либо как то так:
Код:

win1->SetCurrent();
scene1->Render();
win2->SetCurrent();
scene2->Render();
win1->Flip();
win2->Flip();


den 10.08.2012 17:22

Ответ: axelynx
 
Цитата:

Сообщение от HolyDel (Сообщение 235924)
пока нет. но в планах было чтобы на разные окошки можно
хз что ето такое :)
в самом html-файле логов ничего нет? окошко как я понял не появилось?

это и было в html логе) в консоль выводиться FILENAME FILENAME FILENAME:/
окошко создалось

pozitiffcat 10.08.2012 17:31

Ответ: axelynx
 
Цитата:

Сообщение от HolyDel (Сообщение 235928)
окна тоже не кроссплатформенны.

думаю будет либо как-то так:
Код:

Camera *cam1 = scene1->AddCamera(win1->GetCanvas());
Camera *cam2 = scene2->AddCamera(win2->GetCanvas());
...
scene1->Render();
scene2->Render();
win1->Flip();
win2->Flip();

либо как то так:
Код:

win1->SetCurrent();
scene1->Render();
win2->SetCurrent();
scene2->Render();
win1->Flip();
win2->Flip();


второе отстой.. слишком много действий, можно автоматизировать.. хотя у тебя возможно концепция движка предоставлять пользователю полный контроль

HolyDel 10.08.2012 18:24

Ответ: axelynx
 
Цитата:

окошко создалось
ну и отлично, спасибо за тест :)

Цитата:

второе отстой.. слишком много действий, можно автоматизировать.. хотя у тебя возможно концепция движка предоставлять пользователю полный контроль
ну я тоже склоняюсь к первому варианту

moka 10.08.2012 18:30

Ответ: axelynx
 
А можно сделать так:

Окна разные, следственно канвы разные, а контекст один.
Далее, Создавая разные окна для них будет автоматом создаваться своя сцена.
Далее есть два цикла обработки окон (в данном случае, я как понимаю callback функции).
И далее в этих уже функциях идёт своя обработка для определённой сцены.
Но тут маленькая неприятность - если на второе окно установить сцену из первого, тогда цикл обработки второго окна - не уместен?
Получается цикл обработки идёт не на окно, а скорее на сцену?

Мде, понесло меня..

HolyDel 10.08.2012 18:50

Ответ: axelynx
 
Цитата:

Окна разные, следственно канвы разные, а контекст один.
разные окна -разные контексты. но с расшаренными ресурсами.

Цитата:

Далее, Создавая разные окна для них будет автоматом создаваться своя сцена.
не гибко. например, мне нужно 4 окна для 3д редактора. но в них будет одна сцена отображаться.

Цитата:

И далее в этих уже функциях идёт своя обработка для определённой сцены.
обработка явно вызывается из главной функции.

pozitiffcat 10.08.2012 19:11

Ответ: axelynx
 
Для 3d редактора юзают вьюпорты одного окна. но всеже чем гибче тем лучше

wolfhound512 10.08.2012 23:57

Ответ: axelynx
 
Замечания по новой версии:
1) axelynx::MouseY(), axelynx::MouseX() возвращают координаты относительно окна, а axelynx::SetMousePos() устанавливает координаты глобально. Как-то не сходится.

2) _surface->Resize( tris, verts )
CreateSurface( verts, tris )
Параметры поменяны местами. Не страшно, но сначала не заметил и получил ошибку.

3) Установка вершин списками работает, но еще бы и индексы вершин треугольников так задать.

4) Не хватает функции GetRotation()

HolyDel 11.08.2012 09:56

Ответ: axelynx
 
1, 2, 3 спасибо, не заметил. Исправлю.
4 - в углах Эйлера чтоли? Такого не будет скорее всего. Всетаки ориентация хранится в кватернионах

pozitiffcat 12.08.2012 17:29

Ответ: axelynx
 
Получение поворота надо. вдруг юзер захочет прикрутить другой физический движок... или еще чего...


Часовой пояс GMT +4, время: 11:08.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot