Статья о Texture Bombing (http://www.steps3d.narod.ru/tutorials/t … orial.html) сделана добротно. Но по-моему надо исправить пару недочётов.
Во-первых, вот так в исходниках вы загружаете карту декалей: decalMap = createTexture2D ( true, "../Textures/16.jpg" ). При этом в папочке с исходниками отсутсвует и папка Textures и файл 16.jpg. Надо исправить, плюс, переименовать, я думаю, 16 в слово, скажем, decalmap.jpg.
Мне думается, что название glyphMap не отражает того, что в этой текстурке находится. Я вот всё время путаю глиф и декаль - ну уж слишком похожи по лексическому значению!
Во-вторых, опечатки."не регулярным образом"
Пишется слитно (прилагательное; можно заменить словом или словосочетанием без не), то есть:
"нерегулярным образом"
"Однако если вместо сложения использовать замещение цветов"
После "однако" нужно поставить запятую т.к. это вводное слово.
Ещё не понравился вот этот кусок:
"В этой статье будут рассмотрены как основы этого метода, так и его практическая реализация для ряда примеров. Весь исходный код к ней (включая и уже откомпилированные примеры) можно скачать по ссылкам в конце статьи."
Он торчит вначале этой статьи, но в других ваших статьях такого нету. Я думаю, он лишний: те, кто дочитают до конца, и так увидят ссылки на исходник и откомпилированную версию.
Чуть не забыл. Откомпилированная версия для M$ Windows - это повреждённый архив!
В шейдере bomb-3d.fsh есть ошибка. Вы объявили юниформ glyphMap, который НЕ используется вами в этом шейдере. Поэтому мы,
сценоводы (GLScene), получаем фатальную ошибку. То же самое касается шейдера rain.fsh: та же лишняя юниформа glyphMap.
А теперь вопрос. В статье написано, что шейдеры bomb-3d служат "работы в трехмерном случае". Но отчего тогда все
текстуры в шейдере имеют типа Sampler2D? Что же подразумевается под "трёхмерным" случаем? Я вначале думал, что это для 3D
текстур...
Мне и другим читателям очень было бы интересно увидеть вашу реализацию построения дырок от пуль в тех местах, куда пользователь ткнул курсором. Это несколко сложнее, чем всё то, что присутствует в статье. Надо переводить координаты экрана в текстурные, проводить рендинг в текстуру, после чего уже накладывать эту текстуру.
Отредактировано DungeonLords (2010-11-06 01:05:39)