![]() |
Туториал по "Devil Shadow System"
Вложений: 1
Всем привет! Я, хоть и начинающий форумчанин, хочу блеснуть своим остроумием и написать свой первый тутор по сие прекрасной либе от Devil’а:D
Так как это мой первый тутор, прошу "не судить строго" и все в таком роде:) И вообще, лучше в этой теме совсем не писать:) В общем начнем. А начнем мы с теории. Я думаю, все знают, что такое «Тень» и что такое «Shadow», про них я говорить не буду. Первое, что нужно знать – что из себя представляет данная либа. Напомню Вам, что Blitz3D не Unreal Engine 3, поэтому о графике выше Half-Life 2 можно забыть. А для того, чтобы держать графоун на уровне Halfы Вам понадовятся либы. Много либ. «Devil Shadow System» – одна из них. Она поможет Вам сделать крутые реалтайм тени, реалистичную воду, зеркала, лужицы и т.д. Один из главных недостатков – она жутко теряет производительность и стабильность при высоких нагрузках. Поэтому полигонами и крутыми текстурами «50000 на 50000 пикселав» спамить категорически запрещается. Масштабами тоже. Второе – хотя бы основы BlitzBasic и какой-никакой опыт работы с ним. Это самое важное, иначе Вы не поймете ни строчки предложенного кода. Ладно, все с теорией. Теперь нужно установить либу. DLL и Decl файлы из папки «Userlibs» кидаем в аналогичную папку в директории Blitz3D. Все, что из «Includes», понадобится нам при самой разработке. Кидаем все три файла в папку будущего проекта. Ниже сразу же вторая часть:) |
Основы основ
Между первой и второй перерывчик небольшой, да-да-да? :D
А теперь продолжим. Во 2-ой части тутора я познакомлю Вас с самыми что ни на есть основами данной либы. А именно я Вам разберу первый туториал из одноименной папки. А разберу я Вам его построчно. Код:
Include "..\Includes\DevilShadowSystem.bb" Код:
Graphics3D 1024, 768, 32, 2 Код:
Cam = CreateCamera() Код:
InitShadows(Cam) Предупреждение: не рекомендуется включать тени более чем на одну камеру. Код:
Light = CreateLight() Извините за «нубство» - я не понял, зачем наводить лайт на пустую точку. Код:
SetShadowLight(Light) Код:
c = CreateCube() Код:
SetShadowMesh(c, False) Код:
Caster = CreateSphere() Код:
SetShadowMesh(Caster) Теперь цикл: Код:
While Not KeyHit(1) Для второй строчки у меня справочное объяснение: А флип он и есть флип. Уффф… Последние две строчки: Код:
FreeShadows() Надеюсь, Вам понравилось:D |
Ответ: Туториал по "Devil Shadow System"
Юзал когда-то, ашадов лучше, ИМХО.
|
Словарик начинающего
И снова здравствуйте! Из за того, что несколько следующих обучающих исходников особо не отличаются от первого, я решил составить так называемый словарь с командами.
Код:
Render([0-2], [anim_speed#]) Код:
SetShadowMesh([Entity], [True or False],[ cache$]) Код:
InitShadows([Cam]) Код:
FreeShadows() Код:
CreateShadowSphere([True]) Код:
LoadShadowMesh([Mesh],[True]) А пока все. Позже я расскажу про бампмаппинг :) |
Ответ: Туториал по "Devil Shadow System"
Вложений: 1
Вообщем да. Сидел я себе да пёк, да вдруг вспомнил, что тутор то я не дописал. Вот теперь то да, дописал.
Код:
Как жи эта, карту висот рисовать! Чтобы привязать бампу к мешу, нам нужно начеркать нехитрый код. Код:
SetENBMMesh(entity, tex, bump, bump_frame = 0) Теперь код. Разберем пример "Tutorial4 - ENBM.bb" Весь я его затрагивать не буду, да и не надо, я так думаю. Смотрим самое важное. Код:
Include "SampleFunctions.bb" Код:
;Ball Командой "SetENBMMesh(c, CubeTex, t2)" мы говорим библиотеке привязать к сфере "c" бампмаппу "CubeTex", причем сфера у нас будет иметь стандартную текстуру "t2". Ясно? Наверное да. Далее стоило бы поговорить про эти строчки: Код:
floor_bump = LoadTexture("Media\Rock_Bump.jpg") Вот она вкратце: Код:
CreateWater(bumpmap, size = 100, round = False) Ну и все, вернемся к коду: Код:
floor_bump = LoadTexture("Media\Rock_Bump.jpg") Здесь мы командой "c = CreateWater(floor_bump, 100)" говорим блитцу, что нам надобно создать квадратную "воду" по имени "c" с размером 100, причем имеющую бампмапу по имени "floor_bump". Ну вроде все. В планах - переведенный хелп. Удачи вам в познании блитца, господа! Таки да, узнал я зачем же свет на пустую точку наводить - без этого теней вы не увидите! |
Ответ: Туториал по "Devil Shadow System"
Дык а скрин с тенями можно?
|
Ответ: Туториал по "Devil Shadow System"
|
Ответ: Туториал по "Devil Shadow System"
Цитата:
|
Ответ: Туториал по "Devil Shadow System"
Вложений: 2
Решил запилить примерчик. Вот держите. Модель танчика и все текстуры скачаны. Приятного просмотра
Управление: w-вперед a-влево s-назад d-вправо Мышка - поворот Код в комплекте. Бампмаппинг не юзал, да и смысла не вижу. |
Ответ: Туториал по "Devil Shadow System"
Вложений: 1
Перевел хелп. Наконец. Было трудно, но я сделал это.
На этом мое повествование почти закончилось - осталось только написать свой пример с ENBM. Ждемс. |
ENBM
Вложений: 2
Вот и все. Наконец я доделал тутор.
Пример с Бамп Маппингом. Все сурово, немного рябит в глазах, но главное смысл отражает: ОНО РАБОТАИТ! Извините, код не прокомментирован. Делал в в попыхах. Впрочем там все ясно. |
Ответ: Туториал по "Devil Shadow System"
Честно сказать - молодец за труды. Но если ты ожидаешь что это кому-то понадобиться, зря надеешься.
Вот на шейдерах чегонить - понадобиться кому-то, даже не столько сам код, сколько вдохновление и т.п. Я заметил что много кого шейдеры прикалывают, и друг-дружку вдохновляют. Вон на гд.ру есть темка с шейдерами, народ выкладывает картинки, и всем приятно, вдохновляет.. А вот ковыряя и так мёртвый труп - доставит только олдфагам. |
Ответ: ENBM
Цитата:
А так то да, бампмаппинг там хреново реализован. Честно. Так что ашадов меня ждет:) p.s. Извиняйте за скрин. Ща будет! |
Ответ: ENBM
Цитата:
С ашадовым такая тем, на старой версии библиотеки работали все примеры. Однако же как только автор пофиксил либу для висты и выше (до этого тени работали только на XP), начались проблемы, прежние примеры некорректно работают, например: нету мягких теней (хотя может это я не нашёл), прежние примеры бампмапинга перестали работать, есть бамп но нету тени и т. п. Понять в чём дело мне так и не удалось :( |
Ответ: ENBM
Цитата:
|
Ответ: ENBM
Цитата:
|
Ответ: Туториал по "Devil Shadow System"
|
Ответ: Туториал по "Devil Shadow System"
Оживлю тему. Просто вспомнил, что хотел сравнить две библиотеки.
Если по честному, то мне немного лень это делать, так как скоропостижно выяснилось, что из-за битых ДЛЛ и проблем с дровами даже просто скомпилить демки тот еще гемор, но я не унываю! Поэтому думаю, если не забуду, то быстренько на следующей неделе запилю небольшой тутор по ашадову, затем сравню две либы. |
Ответ: Туториал по "Devil Shadow System"
Зачем?
Занялся бы практическими упражнениями сравнивания чего-либо на чём-то актуальном, а не трупах. Пользы другим 0, да и тебе тоже, т.к. с того времени взгляды и решения кардинально поменялись. Зачем мучить мёртвый труп? Трата времени не? Или тебе не жалко своего времени? |
Ответ: Туториал по "Devil Shadow System"
Цитата:
|
Ответ: Туториал по "Devil Shadow System"
Цитата:
«Хватит тыкать "трупы"», «пользы ноль», «трата времени», «другие взгляды». Почему это тебя так беспокоит? Ты что-то понял в своей жизни, узнал новое, замечательно, но зачем ты теперь как курица с яйцом носишься, всем всё рассказывая и доказывая? P. S. Вот мне, интересно, чем закончится это сравнение. |
Ответ: Туториал по "Devil Shadow System"
Цитата:
Вот идёшь ты по улице, видишь дети, клей нюхают - тебе пох будет? Тут аналогия - кодеры заместо делом занимаются, страдают поеб*нью, ну и как-то жалко их становится, "жалко" как у пчёлки, понимаешь? Но я думаю говорить: "дай им клей свой нюхать, не мешай" - лучше, правда? Ведь это тоже самое что ничего не делать, ещё и мешать другим, но вижу тебе это более подходит, ведь посмотреть как они обнюхаются - тебе так интересно! |
Ответ: Туториал по "Devil Shadow System"
Немного отпишусь. Быстренько написал некий тест скорости DSS. На моем железе стабильно выдает 80 FPS, причем это не зависит от перемещения света или объекта. Кошмар заключается в том, что как я бы не выкручивался, происходит борьба полигонов на границе света и тени объекта, и это не фиксится сменой разрешения. Теперь DSS официально RIP. Для сравнения тот же ашадов на демке теней легко выносит все 3.5К FPS, т.е. дерет DSS во все 3 анальных отверстия, не говоря о функционале.
Но важно заметить, что DSS немного проще аналогов и достаточно хорош для простеньких демонстраций в окошке с небольшим разрешением, однако в играх его полезность на сегодняшний день сводится к нулю. Я думаю, что сейчас логичней сравнивать FastExtension и AShadow, чем я и займусь. Вот тут уже выбор будет намного трудней. |
Ответ: Туториал по "Devil Shadow System"
Цитата:
|
Ответ: Туториал по "Devil Shadow System"
Я всё детство и отрочество нюхал клей, но теперь завязал!
Теперь увлекаюсь нормальными и современными веществами. С помощью них можно создавать глюки невероятной красоты. Всем советую. Клей RIP! |
вумшд
Цитата:
|
Ответ: Туториал по "Devil Shadow System"
всем приффки в этом чатиге! :)) моку надо забанить и все проблемы булки будут решены :-D
|
Ответ: Туториал по "Devil Shadow System"
Если забанить моку, то кто будет разжигать? MrF остепенился, к несчастью :mad:
|
Ответ: Туториал по "Devil Shadow System"
|
Ответ: Туториал по "Devil Shadow System"
Цитата:
ты случайно мой вертолёт не видал? а то я потерял его... ![]() |
Ответ: Туториал по "Devil Shadow System"
Цитата:
Ой...Извини... ![]() |
Ответ: Туториал по "Devil Shadow System"
Цитата:
|
Ответ: Туториал по "Devil Shadow System"
Цитата:
![]() |
Часовой пояс GMT +4, время: 03:01. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot