|
Xors3D Графический движок с поддержкой DirectX9 |
17.06.2014, 14:14
|
#316
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Пишем 3D движок - замену Xors3D
Mr_F_, вот знание разных GAPI теперь тебе дает возможность рассмотреть суть абстракций, и если вдруг будет необходимость поддержки более нового GAPI, то переход будет не на столь болезненный.
А теперь прикинь у тебя все написано одной кашей, от друг дружки завязано. Вот та же тема со стейтами, что все встанет как полагается для DX10? Нифига, будут те же костыли и все будет не меньше ломаться. По крайней мере у тебя "добавления" зависимостей, а в одной каше это будет перелопачивание зависимостей с неприятными последствиями.
Опыт естественно нужен при работе с разными GAPI, но писать один спаггети-код - это прямой путь к провалу.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
17.06.2014, 21:34
|
#317
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Пишем 3D движок - замену Xors3D
А теперь прикинь у тебя все написано одной кашей, от друг дружки завязано.
|
ну так я не предлагаю херачить как попало а потом портировать на другой гапи.
варианта 2:
- херачить быстро на одном гапи
- херачить с абстракциями под много гапи, зная каждый очень хорошо в отдельности
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
17.06.2014, 21:36
|
#318
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Пишем 3D движок - замену Xors3D
Сообщение от Mr_F_
ну так я не предлагаю херачить как попало а потом портировать на другой гапи.
варианта 2:
- херачить быстро на одном гапи
- херачить с абстракциями под много гапи, зная каждый очень хорошо в отдельности
|
Так как первый - один из вариантов, но для опыта лучше двигаться ко второму, а опыта нету. Следственно стоит херачить быстро на одном гапи с мелкими абстракциями (для опыта), и затем их "поломать" и понять где напортачил при переходе на другой GAPI. По сути то через что ты прошел, тем самым будет отличный опыт.
|
(Offline)
|
|
17.06.2014, 22:43
|
#319
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Пишем 3D движок - замену Xors3D
Ну может быть, тут в принципе чувак для себя пилит, а вот у меня был определённый заказ со сроками, и я тогда мог сделать много чего быстрее, если бы не заморачивался :D
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
18.06.2014, 01:09
|
#320
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Пишем 3D движок - замену Xors3D
Сообщение от Mr_F_
Ну может быть, тут в принципе чувак для себя пилит, а вот у меня был определённый заказ со сроками, и я тогда мог сделать много чего быстрее, если бы не заморачивался :D
|
Но опыт то нужно тоже получать, а не тупо пилить - абы здать. Следственно ты все правильно имхо сделал.
Кодинг и вся жизнь разработчиков никогда не бывает гладкой, никогда. И те кто умеют "страдать" как полагается те и опыта набираются збсь.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
|
|
29.06.2014, 12:17
|
#321
|
ПроЭктировщик
Регистрация: 19.03.2012
Адрес: Забайкальский край
Сообщений: 112
Написано 15 полезных сообщений (для 23 пользователей)
|
Ответ: Пишем 3D движок - замену Xors3D
Всем привет!
У кого-нибудь есть нормальная инфа, как делать вывод текста с нуля, не используя d3dx и подобные библиотеки?
Дело в том, что удалось оптимизировать код таким образом, что на пустой сцене FPS переваливает за 10000 (!!!). Вывод одной строчки через d3dx убивает фпс до 6500. А вывод еще нескольких строк - до 2000 фпс. А если с GUI - то фпс не более 500. Не хочется изобретать велосипед, поэтому может кто подскажет, чем кто пользовался и как выводил текст и GUI?
Пока варианта 2: либо d3dx/dxut, либо каждую букву стрипом с текстурой буквы. Может еще какие варианты есть? Еще не могу отделаться от мысли рисовать текст напрямую в backbuffer. Но в интернете что-то не нашел такого варианта...
__________________
PC: MB ASRock Z170M Pro4S / CPU Intel Core i-5 6600 4-Core / RAM 32 Gb / GPU Geforce RTX 2080 Ti 11Gb / Oculus Rift DK1 + CV1 / HTC Vive / Deus Odin DK 0..5
https://rw-game.ru
https://geovoxium3d.com
|
(Offline)
|
|
29.06.2014, 12:27
|
#322
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Пишем 3D движок - замену Xors3D
Вывод одной строчки через d3dx убивает фпс до 6500. А вывод еще нескольких строк - до 2000 фпс. А если с GUI - то фпс не более 500
|
такие измерения ни о чём не говорят, лучше кол-во миллисекунд замерь и подумай сколько у тебя их занимает пустая сцена в 10к фпс. на фоне скорости реальной игры, этот д3дх текст заметен вообще не будет.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
29.06.2014, 13:00
|
#323
|
ПроЭктировщик
Регистрация: 19.03.2012
Адрес: Забайкальский край
Сообщений: 112
Написано 15 полезных сообщений (для 23 пользователей)
|
Ответ: Пишем 3D движок - замену Xors3D
1 строка - около 0.2 мс. Может я и правда слишком зациклился на оптимизациях...
Но вот как реализовать мягко скролируемый текст... Тут уже не просто вывод текста - тут надо рисовать часть первой видимой строки, n-строк посередине, часть последней видимой строки. Это дополнительные проверки и потеря ФПС... Или рендерить в текстуру и натягивать на страйп?
__________________
PC: MB ASRock Z170M Pro4S / CPU Intel Core i-5 6600 4-Core / RAM 32 Gb / GPU Geforce RTX 2080 Ti 11Gb / Oculus Rift DK1 + CV1 / HTC Vive / Deus Odin DK 0..5
https://rw-game.ru
https://geovoxium3d.com
|
(Offline)
|
|
29.06.2014, 13:30
|
#324
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Пишем 3D движок - замену Xors3D
ну вообще по-мойму сегодня уже все игры, неигры и кто угодно рендерит UI квадами с текстурой. это БЫСТРО. в том числе д3дх делает то же самое. зная это, достаточно очень тривиально изменить VS чтобы плавно сдвигать все вертексы. можешь сделать это с д3дхом (если там всё не слишком через жопу), можешь сам, но в последнем случае учти, что тебе придётся много времени потратить на чёртов текст, чтобы там кернинг был нормальный, тексель в пиксель попадал и т. д., зависит дальше от амбиций (размеры/разноцветность/болд-италик/теги...)
---
брр погоди, разве д3дх не позволяет рисовать текст начиная с любого пикселя экрана? насколько я помню, позволяет. ну и какие проблемы со скроллингом?
---
а, ты что ли про то чтобы скроллить не влезающий в экран большой текст? и про проверки на видимые строки? пфф, это вообще ничего не стоит, чтобы тут про фпс рассуждать
|
(Offline)
|
|
29.06.2014, 15:01
|
#325
|
Мастер
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений (для 631 пользователей)
|
Ответ: Пишем 3D движок - замену Xors3D
Сообщение от Mr_F_
ну вообще по-мойму сегодня уже все игры, неигры и кто угодно рендерит UI квадами с текстурой. это БЫСТРО.
|
Именно так я делаю у себя.
Сообщение от Mr_F_
в том числе д3дх делает то же самое.
|
Вот я не уверен, я столкнулся с той же самой проблемой - текст в д3дх реально много жрёт. Была сцена со средним фпс 60, вывод текста на 2/3 площади экрана просадил до 5 фпс. Даже если сцену потом убрать - фпс не поднимется. Однако я не уверен что я правильно рисовал. Я каждый раз вызывал функцию прорисовки текста, а может быть, если текст не меняется, есть способ нарисовать его один раз куда-нибудь в текстуру и затем выводить эту саму текстуру.
Сообщение от Mr_F_
брр погоди, разве д3дх не позволяет рисовать текст начиная с любого пикселя экрана? насколько я помню, позволяет.
|
Да 100% я так делал.
|
(Offline)
|
|
29.06.2014, 16:15
|
#326
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Пишем 3D движок - замену Xors3D
Была сцена со средним фпс 60, вывод текста на 2/3 площади экрана просадил до 5 фпс.
|
ну не знаю, я его юзал, и он почти не влиял вообще. выводил несколько дебаг строчек типа фпс и подобного.
есть способ нарисовать его один раз куда-нибудь в текстуру и затем выводить эту саму текстуру.
|
экран текста выводить в фуллрес текстуру будет медленее чем рисовать квады с буковками склееные в 1 дип.
|
(Offline)
|
|
29.06.2014, 17:11
|
#327
|
Мастер
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений (для 631 пользователей)
|
Ответ: Пишем 3D движок - замену Xors3D
Сообщение от Mr_F_
ну не знаю, я его юзал, и он почти не влиял вообще. выводил несколько дебаг строчек типа фпс и подобного.
экран текста выводить в фуллрес текстуру будет медленее чем рисовать квады с буковками склееные в 1 дип.
|
Зависит от того какую площадь экрана покрывает текст, попробуй вывести на весь экран.
Ну если свой текст писать то через квады, но д3дх выглядит красивей, а если его тоже выводить по буквам через квады будет также некрасиво как свой текст через квады.
Вообще можно минимизировать количество текста в ХАДе, а где-нибудь в окне меню игра то на паузе будет - можно и с более низким фпс повыводить.
|
(Offline)
|
|
29.06.2014, 17:20
|
#328
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Пишем 3D движок - замену Xors3D
Ну если свой текст писать то через квады, но д3дх выглядит красивей, а если его тоже выводить по буквам через квады будет также некрасиво как свой текст через квады.
|
д3дх работает через квады
делать через квады не делает текст "некрасивым"
некрасивым его делают кривые руки
|
(Offline)
|
|
29.06.2014, 19:32
|
#329
|
Мастер
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений (для 631 пользователей)
|
Ответ: Пишем 3D движок - замену Xors3D
Ну я не художник чтоб шрифты рисовать, подходящего размера в инете не нашел, а нужно было чтоб тексель в пиксель попадал и нужного размера, пришлось самому шрифты рисовать.
|
(Offline)
|
|
29.06.2014, 19:36
|
#330
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Пишем 3D движок - замену Xors3D
Зачем рисовать, есть же куча Bitmap Fonts генераторов. Например: http://www.gamedev.ru/projects/forum/?id=152527
|
(Offline)
|
|
Эти 4 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 05:26.
|