The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Игровой движок Serious v1 переведён в разряд свободных проду..."
Отправлено Аноним, 17-Июн-18 16:42 
Ребятки вот что я вам скажу, нафиг нам чужие костыли :)
Разбиратся как я вижу надо именно с DirectX 11 на данный момент хотябы
Если хочется что то кросплатформенное то OpenGL ES 3.0 или выше

В чем суть - написал человек функцию и наплевательски не оставил нормального описания(т.е. его не заботило поймет кто то о чем там речь или нет)
Может тот кто уже в движках прошаренный ему не надо чего то обьяснять и так поймет
а может и этот не поймет , показать ему же этот же код через год два он и сам хрен вспомнит

Если в описании какойнибудь функции меньше 10-15 строк текста это не документация уже, описание должно быть очень подробным если конечно человек хочет чтобы его продуктом пользовались

А теперь на счет вроде как трудности самих DirectX и OpenGL шейдеры и все дела
отвечу так фигня это все - там все на самом деле просто
Есть оборудование такое как:
                           -вершинный процессор
                           -пиксельный процессор
                           -теселятор
Это конечные автоматы (у конечного автомата есть состояние обработки и входные данные)
Ему подлинковывают откуда брать(буффер1),состояние обработки, и куда скинуть(буффер2)
Т.е. видеокарта это набор функциональных блоков который аппаратно считает
с памятью нет там никакого программирования не было и врядли в ближайшие лет 50 будет
Это так по сути
Т.е. паралельные вычисления одного и того же в больших обьемах

Тот графический конвеер который нам втюхивали о котором чесали в начале во времена DirectX7 его не было на самом деле
Графический конвеер реализовывали ЦПУ функции т.е. когда вводился ДиректХ8 ничего нового не ввели лишь дали доступ к пиксельному процессору
В последующих версиях дали доступ к вершинному процессору

О конвеере можете забыть его нет по сути (его полезно знать чтобы понимать какие этапы вообще должны пройти треугольники, текстуры ... чтобы стать изображением)

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

Логику типа While Лучше туда не пихать так как там ждет команды 1 тыща процессоров которые готовятся в паралель обрабатывать с входного буфера миллионы треугольников а вы туда 1 треугольник тычете и потом после проверки по условию еще один :)

Вся суть - гонять данные через нужные блоки(данные будут в буферах в памяти видеокарты)
Получая на выходе в буфер данные результирующие
Пока не получим нужное изображение

А о конвеере вобще можете забыть нет его давно ни в аппаратном плане (в котором его и не было никогда) ни в програмном со времен DirectX8
Он полезен для наглядности как вообще необходимо обрабатывать данные чтобы получить изображение

Растеризатор выдает на выход набор блоков с глубиной и текстурными координатами
Вершинный процессор - преобразовывает координаты (поворот, масштабирование, перемещение - т.е. вычисляет эту задачку)
Hull Shader + Domain Shader - целых два шейдера для Teselator один на входе второй на выходе
У теселятора там парочка режимов(для примера) : прямоугольник, треугольник, кривая
На выходе понятное дело намного больше примитивов чем на входе
Со своими параметрами

Такой вот у меня совет - навскидку DirectX можна за месяц-два освоить
Если понимать че делаешь
Если говорить об Английском который будет очень нужен так как вся литература на нем то вот ссылочка для нормального старта в английском
https://vk.com/i8ogdan?w=wall107852887_1751%2Fall
там вконце в коментариях смотрите

Ну если кому то так сильно хочется разбиратся с чьими либо высерами(имхо именно так наплевательски документированны) нучтож их дело, как по мне лучше курить спецификацию и делать что нибудь свое

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру