Форум » Книги в работе » Шейдеры для программистов игр и художников » Ответить

Шейдеры для программистов игр и художников

netlib: Себастьен Сент-Лаурент Шейдеры для программистов игр и художников В названии книги все сказано. Эта книга отличается от других, посвященных шейдерам книг. Она сосредотачивается только на шейдерах и их создании. Вы будете использовать программу ATI RenderMonkey, которая предоставляет простую и удобную среду для разработки шейдеров, позволяющую вам направить всю свою энергию на разработку шейдеров, а не на создание каркаса приложения. Книга рассматривает различные техники, начиная от простых цветовых фильтров до достаточно сложных, таких как глубина резкости, марево нагретого воздуха и визуализация в широком динамическом диапазоне. Упражнения в конце каждой главы позволят закрепить полученные навыки, самостоятельно усовершенствуя шейдеры из книги. И для программистов и для технически образованных художников эта книга будет идеальным руководством для освоения шейдеров!

Ответов - 147, стр: 1 2 3 4 5 6 7 8 All

netlib: На данный момент переведены четыре главы из книги. Диска с исходными кодами для этой книги у меня нет, но, к счастью, текст книги позволяет воссоздать все рассматриваемые в ней шейдеры, так что к окончанию перевода я сделаю и все файлы с примерами.

Eldar: Ещё раз спасибо, что сказать :)

Uleh: Ну и самому по ходу работы с книгой можно ( и нужно ) исходники создавать. Ещё раз спасибо за перевод.


NoName: Огромная благодарность Тебе netlib за переводы книг, и такого же терпения в этом нелегком но благородном деле!

Lion: Спасибо NetLib, твои переводы очень хороши!!!

YaNGol: большая благодарность за отличные переводы замечательных книг

alex: Сказать спасибо за переводы, ничего не сказать, поэтому "наиогроменнейшее" спасибо за очень важную работу!!!!!!!!!!!!

Абырвалг: Наткнулся на сайт. - Супер! Молодец. Всем расскажу. С нетерпением жду перевода "Шейдеры для программистов игр и художников"... Спасибо.

Абырвалг: вопрос: книгу эту про шейдеры скачать как-нибудь в один заход можно (не по отдельным главам)?

netlib: Скачать книгу одним файлом можно будет только после того, как она будет переведена вся.

netlib: Добавлена глава 5.

Марина: Ну для начала надо сказать... нет так много писать придёться. В общем присоединяюсь ко всем выше приведённым отзывам. Из имеющихся книг меня больше всего интересует перевод "Шейдеры..." или английскую версию если не сильно от процесса перевода отрываю.

Марина: Ну чтож пока полного перевода нет нашёл и читаю книгу на английском. В связи с этим возник вопрос: что делать с ошибками присутствующими в английской версии. Версия имеющаяся у меня это pdf файл, представляющий из себя не то скан, не то вёрстку. Издательство Premier Press. Даты (в "лучших" традициях интернета) нет. Возможно ошибки в книге являются результатом сканирования/перепечатки. Пока мной были замечены следующие "неточности": 1. На рисунке 9.3 угол преломления света не соответствует указанным коэффициентам оптической плотности. 2. На рисунке 9.3 неправильно замеряется угол преломления. 3. В главе 9 подраздел "Let’s Get Shading" в листинге шейдера выходной параметр цвет задан типом float2. 4. Там же трансформация вершин производиться так Out.Pos = mul(view_proj_matrix, inPos); хотя справка DX SDK и мои опыты свидетельствуют о том что трансформации применяются несколько подругому Out.Pos = mul(inPos,view_proj_matrix);

Марина: 5. В подразделе "Diffuse Lighting" для расчёта освещения используются нетрансформированные положения и нормали вертексов. Хотя для вывода на экран к ним применяется полный набор трансформаций.

DOXER: Марина пишет: 4. Там же трансформация вершин производиться так Out.Pos = mul(view_proj_matrix, inPos); хотя справка DX SDK и мои опыты свидетельствуют о том что трансформации применяются несколько подругому Out.Pos = mul(inPos,view_proj_matrix); В версии RenderMonkey 1.62 компилится только такой код: Out.Pos = mul(inPos,view_proj_matrix); (в соответствии со здравым смыслом и правилами аналит. геометрии) В более старой версии RM 1.5 (под которую и пишется книга) только такой: Out.Pos = mul(view_proj_matrix, inPos); Исправили :) P.S. Вообще, ошибок много, точнеее недоработок. P.P.S. а где английскую версию взял?

netlib: А что с ошибками делают? Исправляют. Я например, воспроизвожу все шейдеры в RenderMonkey, чтобы они заработали и, если надо, соответствующим образом исправляю текст (собственно, я так делаю не только с этой книгой, но и со всеми, которые перевожу). Например, в имеющейся у меня версии RenderMonkey переменная view_proj_matrix называется matViewProjection. Так что я меняю ее имя в книге (что вижу - о том пишу). До 9 главы пока не добрался.

netlib: Выложена глава 6. Для тех у кого проблемы с написанием шейдеров из книги выкладываю шейдеры к трем главам Шейдеры к главам 4, 5 и 6

netlib: Выложена глава 7.

Lion: Выложена глава 7. Уф быстро переводишь. Сразу видно что ты профи в этом деле.

EViruS: Не могли бы вы выложить zip того, что уже переведо, чтобы можно было закачать 1 заходом. Т.е. было бы очень удобно, если бы на сайте кроме книги по главам был бы еще зип доступных глав. Заранее спасибо. Если можно, то вышлите zip на evirusm -at- yandex.ru.

CasDevelep: Не могли бы вы выложить zip того, что уже переведо, чтобы можно было закачать 1 заходом. Т.е. было бы очень удобно, если бы на сайте кроме книги по главам был бы еще зип доступных глав. Заранее спасибо. Если можно, то вышлите zip на evirusm -at- yandex.ru. Без коментариев. Наглости нет предела.

CasDevelep: Не могли бы вы выложить zip того, что уже переведо, чтобы можно было закачать 1 заходом. Т.е. было бы очень удобно, если бы на сайте кроме книги по главам был бы еще зип доступных глав. Заранее спасибо. Если можно, то вышлите zip на evirusm -at- yandex.ru. Без коментариев. Наглости нет предела.

netlib: CasDevelep пишет: Без коментариев. Наглости нет предела. Почему? если кому-то надо, то я совсем не против выслать то, что выложено на сайте одним архивом. И совсем не надо писать об этом два раза.

CasDevelep: Два раза написал по запарке. Но все равно считаю это наглым. Переводы вылажены, бесплатно, бери да скачивай, не задавая лишних вопросов, чего еще надо? Согласился бы он написать качественное ПО, бесплатно вылажить на сайт, а потом еще архивы рассылать тем кто попросит.

Inferno: Без коментариев. Наглости нет предела. Не наезжай на людей. И не надо подлизываться к NetLibу.

Inferno: Два раза написал по запарке. Но все равно считаю это наглым. А я считаю наглым, то что ты лезешь не в свой огород. Переводы вылажены, бесплатно, бери да скачивай, не задавая лишних вопросов, чего еще надо? Ты думаешь легко скачивать по одной страницы, мне кажется легче упаковать это все в один архив и скачать. И это не совсем бесплатно, а donationware. Согласился бы он написать качественное ПО, бесплатно вылажить на сайт, а потом еще архивы рассылать тем кто попросит. Ты сначала сам попробуй, а потом другим советуй. К тому же он попросил всего навсего выложить на сайте, не думаю что это трудно. И уж тем более это не наглость.

CasDevelep: Не наезжай на людей. И не надо подлизываться к NetLibу. А ты, типа храбрый и отважный Робин Гуд.

CasDevelep: Ты думаешь легко скачивать по одной страницы, мне кажется легче упаковать это все в один архив и скачать. Скачать - да беспорно, не рассылать же теперь всем кому захочется. Хотя это дело каждого.

CasDevelep: Ты сначала сам попробуй, а потом другим советуй. К тому же он попросил всего навсего выложить на сайте, не думаю что это трудно. Советов я никому недавал, а привел пример для наглядности.

Inferno: А ты, типа храбрый и отважный Робин Гуд. Не хочу тебя огорчать, но я полная Скачать - да беспорно, не рассылать же теперь всем кому захочется. Хотя это дело каждого. А он и не просил рассылать кому попало, а только проверенным людям. Советов я никому недавал, а привел пример для наглядности. Прежде чем приводить пример для наглядности, нужно сначала самому попробовать.

netlib: CasDevelep пишет: Скачать - да беспорно, не рассылать же теперь всем кому захочется. А почему бы и не всем? Анекдот в тему. ВАА-С-ЯЯ!!! ХОЧУ СЕКСА. Тише, здесь мужское общежитие А МНЕ НЕ ЖАЛКО!! Вот и мое отношение "Мне не жалко!". Так что всем, кто попросит переводы буду высылать. Интернет все равно халявный.

CasDevelep: Прежде чем приводить пример для наглядности, нужно сначала самому попробовать. Если бы в сутках было хотя бы 36 часов, то может быть я бы и попробовал. К сожалию у меня этого времени лимит. Так, иногда придет вдохновение , но после 6-9 оно также неожиданно пропадает и наступает

CasDevelep: Кстати, как-то не по теме, но все же, может кто-нибудь занимался гоночными "движками" т.е. т.н. Car Engine? Существуют ли книги посвященные созданию тиких игр? Я слышал что-то про "Brian Beckman - The Physics of Racing".

Uleh: http://phors.locost7.info/contents.htm

CasDevelep: Отличная ссылка. Перевести слабо

dmon2006: поделись пожалуста с исходниками

dmon2006: позарез нужен исходник к 15 главе

dmon2006: javascript:vst(100); выложите пожалуста исходники к книги

netlib: dmon2006 пишет: позарез нужен исходник к 15 главе Когда перевод доберется до 15 главы, тогда и будут исходники. У меня же диска к книге нет. Я шейдеры по тексту восстанавливаю. Кстати, большая просьба разный JavaScript в сообщения не совать.

Inferno: Кстати, большая просьба разный JavaScript в сообщения не совать. Может он проверяет твой форум на уязвимость.

dmon2006: Разобрался с туманьчиком по английской версии. Если тебя не затруднит вышли пожалуста перевод . (Opera сохраняет почему -то только пустые страницы )

Inferno: Если тебя не затруднит вышли пожалуста перевод . (Opera сохраняет почему -то только пустые страницы ) Не пользуйся оперой, пользуйся файрфокс, он круче.

dmon2006: netlib пишет: "Мне не жалко!". Так что всем, кто попросит переводы буду высылать. Интернет все равно халявный как насчет перевода

netlib: dmon2006 пишет: как насчет перевода http://rapidshare.com/files/38448412/book0053.zip

dmon2006: netlib пишет: http://rapidshare.com/files/38448412/book0053.zip БЛАГОДАРЮ

EViruS: netlib пишет: http://rapidshare.com/files/38448412/book0053.zip Пасиб

stayer: че-то не работает.уважаемый netlib может лучше заливать на filearchiv.ru?

netlib: stayer пишет: че-то не работает Проверил - все работает.

katerina: netlib не мог бы ты выложить и исходники к переведенным главам

dmon2006: katerina пишет: не мог бы ты выложить и исходники к переведенным главам ПОДДЕРЖИВАЮ

netlib: katerina пишет: не мог бы ты выложить и исходники к переведенным главам Исходники выложены в одном архиве с переводом (папка download)

Андрюшнчка: А когда будут переведены остальные главы.

netlib: Андрюшнчка пишет: А когда будут переведены остальные главы. Похоже, интересующихся этой книгой мало, так что перевод временно приостановлен.

8daemon: netlib пишет: Похоже, интересующихся этой книгой мало, так что перевод временно приостановлен. Почему? Так долго ждал перевода, а тут такое. Очень жалко

netlib: 8daemon пишет: Так долго ждал перевода, а тут такое. Так он же не навсегда заброшен. Просто сейчас больше времени отводится на книгу "Программирование ролевых игр" потому что о ней больше спрашивают.

dmon2006: Одна нормальная книга по шейдерам на русском . Как может быть интерисующихся этой книгой мало. КТО НИБУДЬ МОЖЕТЬ ПОСОВЕТОВАТЬ КНИГИ ПО ЭТОЙ ТЕМАТИКИ НА РУССКОМ

netlib: Не беспокойтесь - в октябре будут новые главы. На русском по шейдерам выходили следующие книги: А.В.Боресков "Разработка и отладка шейдеров" Р.Дж.Рост "OpenGL: трехмерная графика и язык программирования шейдеров" С.Г.Горнаков "Инструментальные средства программирования и отладки шейдеров в DirectX и OpenGL"

dmon2006: спасибо

CasDevelep: Не беспокойтесь - в октябре будут новые главы. На русском по шейдерам выходили следующие книги: А.В.Боресков "Разработка и отладка шейдеров" Р.Дж.Рост "OpenGL: трехмерная графика и язык программирования шейдеров" С.Г.Горнаков "Инструментальные средства программирования и отладки шейдеров в DirectX и OpenGL" Да, на русском лучше ненадо, с меня хватило - С.Г.Горнаков "DirectX9 Уроки программирования на С++"

dmon2006: netlib пишет: Не беспокойтесь - в октябре будут новые главы. УЖ НОЯБЕРЬ ЕМАЁ

netlib: Пока не получается воссоздать описанные в главах шейдеры. Вы можете помочь?

CasDevelep: Пока не получается воссоздать описанные в главах шейдеры. Вы можете помочь? А что нужно сделать?

netlib: Надо написать в Render Monkey шейдеры (RFX-файлы) для восьмой главы.

dmon2006: netlib пишет: Надо написать в Render Monkey шейдеры (RFX-файлы) для восьмой главы. ЗАБЕЙ ПОКА НА НЕЕ . НЕ ОСТАНАЛИВАЙ ПЕРЕВОД

netlib: Хорошо, восьмую главу пока пропускаю и перехожу к следующей части.

yukon_28: Уважаемый netlib! Большое спасибо за труды. Меня тоже очень интересует эта книга. Кстати, нельзя ли получить ссылку на файл книги в англ. варианте ? Да, недавно вышла книга по XNA - McGraw.Hill.Microsoft.XNA.Game.Studio.Creators.Guide.Jun.2007.eBook-BBL, помоему неплохая, хотя утверждать не берусь - пролистал очень беглою Если интересует, могу выслать. У меня довольно большая библиотека в электронном виде, но большинство книг по конкретному софту, в основном 3ds max\after effects\premiere\photoshop, хотя есть и книги по движкам и 3д програмированию. @: pocketz.yukon28 at gmail dot com

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

dmon2006: Когда примерно появятся следующие главы

CasDevelep: Надо написать в Render Monkey шейдеры (RFX-файлы) для восьмой главы. А зачем вообще собирать их, ведь код присутствует в переводе а кому надо сам скомпилирует.

netlib: CasDevelep пишет: А зачем вообще собирать их, Да для того, чтобы проверить правильно ли я перевожу и понял ли то, о чем говорится в главе.

EViruS: Кажется нашел ошибку. http://netlib.narod.ru/library/book0053/index.htm // Координаты текстуры устанавливаются так, // чтобы текстура полностью заполняла весь экран Out.texCoord.x = 0.5 * (1 + Pos.x - fInverseViewportWidth); Out.texCoord.y = 0.5 * (1 - Pos.y - fInverseViewportHeight); По-моему, должно быть: // Координаты текстуры устанавливаются так, // чтобы текстура полностью заполняла весь экран Out.texCoord.x = 0.5 * (1 + Pos.x + fInverseViewportWidth); Out.texCoord.y = 0.5 * (1 - Pos.y + fInverseViewportHeight); Жаль, что книга переводится очень медленно, так как книга очень хорошая.

netlib: EViruS пишет: Кажется нашел ошибку. А вы пробовали поменять код шейдера и посмотреть, что получится?

EViruS: Нет, у меня нет кода. Дело же не в коде, а в логике.

netlib: Тогда я попробую поменять код в шейдере и посмотреть, что получится. Дело в том, что я написал так как в книге и у меня все нормально работает. Вообще-то здесь три операции: 1) Перенос вправо и вниз, 2) Масштабирование с коэффициентом 0.5 и 3) Инверсия оси Y. Так что можно составить матрицы и перемножить их.

dark_ghost: Очередное спасибо за перевод.... Ждёмс следующие главы с нетерпением... P.S. у мя чёт картинки не грузятся к книжке... Я не одинок?

netlib: Я посмотрел - у меня все картинки грузятся. Если не сложно, укажите номера картинок которых нет. Ну и небольшая радость - я все-таки победил шейдеры из восьмой главы и завтра вечером выложу ее текст.

dark_ghost: Да картинок дофига сяких нет... Вот из данной книги вообще ни одна не загрузилась (но я потом нашёл ссылку на форуме тут с картинками и слил - так что без иллюстраций не остался). Главная страница тож не целиком грузится (нет картинок для кнопок на разделы, даж логотип не отображается)... Принудительно сходил по адресам картинок - хостинг молчит... Как вариант это "оутпост" шалит (я ему уже приказал не хрюкать на этот сайт - посмотрю после перезагрузки как себя чувстывовать будет себя)... И радость на самом деле приогромная :)))) Особенно для тех кто англ. плохо знает по причине того что в школе немецкий учил :))))

dark_ghost: Ага, вродь не в фаерволе дело

dark_ghost: Понял в чём подводные грабли... Попробовал под ослика IE зайти - проблем нема... А с оперой - грабли... Причём эт только для картинок приземлившихся на хостинге народа... Вот такие пирожки с котятами

netlib: Как и обещал, начал выкладывание восьмой главы. Первая часть уже доступна на сайте.

dark_ghost: Молодца... Терь хоть постепенно с кодерами графики начну на одном языке разговаривать :)))) Респект!

dark_ghost: Ошибка на странице http://netlib.narod.ru/library/book0053/ch08_02.htm При нажатии на "Далее" стучимся на несуществующую главу 8.3 А нужно на третью часть

netlib: dark_ghost пишет: При нажатии на "Далее" стучимся на несуществующую главу 8.3 Это не ошибка, просто глава 8 пока выложена не целиком.

EViruS: netlib пишет: Вообще-то здесь три операции: 1) Перенос вправо и вниз, 2) Масштабирование с коэффициентом 0.5 и 3) Инверсия оси Y. Так что можно составить матрицы и перемножить их. Вы посмотрели? Вообще, там 1) инверсия по Y и изменение диапазона 2) стыковка, 3) масштабирование. Если неверный знак, то все должно съехать на 1 пиксель.

netlib: Восьмая глава выложена целиком

still: книга супер!

still: книга супер! нет слов ...

WorstPahan: Отличная книга по программированию шейдеров. Долго искал по ним информацию, но на русском найти толковой инфы нет, а на на английском особо и взять негде)

angru: Не могли бы вы выложить приложение А. Хотя бы без перевода. Насколько я понимаю там должно быть описание функций языка HLSL. А то нигде не могу найти их. И книгу нет возможности скачать.

8daemon: хотелось бы увидеть продолжения перевода книги.

netlib: Вот закончу с XNA (или ролевыми играми, смотря что раньше) и продолжу переводить про шейдеры.

Inferno: Вот закончу с XNA (или ролевыми играми, смотря что раньше) и продолжу переводить про шейдеры. Ну если так судить, то вы не скоро закончите. Ведь после XNA 2.0 будет XNA 3.0, XNA 4.0, XNA 5.0 и так далее.

netlib: Я, пожалуй, пока на XNA 2.0 остановлюсь. Далее особых изменений не предвидится, а программирование игр для Zune меня не особенно интересует (лучше уж чего-нибудь на Java для мобильника написать).

dmon2006: выложите исходник к 8 главе

dmon2006: выложите исходник к 8 главе

netlib: Я не делал исходники к восьмой главе. Только текст. Пример HDR-засветки есть в RenderMonkey.

dmon2006: Очень хотелось бы увидеть продолжения перевода .

netlib: Пока голоса посетителей распределяются так: 1 место: XNA - 611 WMR и 2 WMZ 2 место: Программирование для Windows на C# - 282 WMR 3 место: Программирование ролевых игр - 5 WMR Все остальные: 0 Соответственно распределяются усилия по переводу.

Inferno: Соответственно распределяются усилия по переводу. Выходит теперь вы переводите только за деньги?

netlib: Inferno пишет: Выходит теперь вы переводите только за деньги? Вы это называете деньги? Штоб вы так богато жили, пусть и вам будет два раза приятно. Просто то, за что платят переводится в первую очередь, а остальные книги ждут в очереди. Это же обычная взятка.

Inferno: Вы это называете деньги? А кто вам мешает разместить рекламу и получать дополнительный доход? Это же обычная взятка. Это не взятка, а чаевые?

netlib: К моему удивлению эта книга набрала больше всего подписчиков. Начал перевод девятой главы.

8daemon: Ура!!!

Inferno: К моему удивлению эта книга набрала больше всего подписчиков. Начал перевод девятой главы. А вы уверены, что это реальные подписчики? Я тоже могу зарегистрировать десять почтовых ящиков и подписаться на программирование ролевых игр.

netlib: Ролевые игры и так на втором месте после шейдеров с разницей в один голос.

alex4x: Кому нужны эти "ролевые игры" ? там же ничего интересного нет в книге и быть не может....

Inferno: Кому нужны эти "ролевые игры" ? там же ничего интересного нет в книге и быть не может.... А с чего вы это взяли сударь? Факты в студию и пожирнее.

netlib: alex4x пишет: Кому нужны эти "ролевые игры" ? там же ничего интересного нет в книге и быть не может.... Пока (по крайней мере до сентября) никаких новых XNA. Того, что есть вполне достаточно.

Inferno: Пока (по крайней мере до сентября) никаких новых XNA. Это звучит как приговор? Того, что есть вполне достаточно. Тех кто программит под 2D может и достаточно, но по трехмерному программированию под XNA мне кажется, что не хватает материала.

netlib: Я имел в виду, что новых книг по XNA пока переводить не буду. Те две книги, которые уже есть будут переведены до конца.

Inferno: Я имел в виду, что новых книг по XNA пока переводить не буду. Те две книги, которые уже есть будут переведены до конца. Причем тут "ролевые игры"?

netlib: Inferno пишет: Причем тут "ролевые игры"? Прочитайте заголовок исходного сообщения alex4x.

Inferno: Прочитайте заголовок исходного сообщения alex4x. Простите, я не заметил. Старею, старею. P.S. Уважаемый Netlib я конечно понимаю, что перевод книг дело хорошее, но иногда просто хочется поговорить по душам. Может вы создадите специальный раздел для флуда. Если вы конечно не против.

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

Finster: Здравствуйте, не мог бы кто нибудь выложить ( на файлообменник ) PDF вариант данной книги - надоело читать с экрана - хочу распечатать.

8daemon: Как обстоят дела с переводом данной книги?

netlib: Пока никак. Перевод будет продолжен после завершения "Ролевых игр". На все сразу времени не хватает.

8daemon: будем ждать

Kuler: Поправка к тексту. В главе 5 разделе "Рисуем в альбом для набросков", чтобы отрисовывались на экране модели из renderTexture, нужно добавить Render State в проход Present (как показано на рис. 5.6) и в нем выставить для параметра D3RDS_CULLMODE значение D3DCULL_NONE. Без этого модели на экране не отображаются. Может я что-то упустил по ходу чтения книги, но мне пришлось изрядно помучаться, пока нашел решение. В оригинальном английском тексте это вроде тоже не упоминается.

8daemon: Kuler пишет: Поправка к тексту. В главе 5 разделе "Рисуем в альбом для набросков", чтобы отрисовывались на экране модели из renderTexture, нужно добавить Render State в проход Present (как показано на рис. 5.6) и в нем выставить для параметра D3RDS_CULLMODE значение D3DCULL_NONE. Без этого модели на экране не отображаются. Может я что-то упустил по ходу чтения книги, но мне пришлось изрядно помучаться, пока нашел решение. В оригинальном английском тексте это вроде тоже не упоминается. Ты скорее всего сменил или забыл сменить стандартный обход вершин, который указывает стороны треугольника видимую и не видимую

Kuler: 8daemon пишет: Ты скорее всего сменил или забыл сменить стандартный обход вершин, который указывает стороны треугольника видимую и не видимую Вполне возможно. Я с графикой совсем недавно работаю, многое еще не знаю. Тем не менее данная опция выставлена в примерах, которые предоставляют разработчики программы. И на картинке в книге видно, что для прохода Render State выставлен. В общем-то я это написал для тех, для следующих поколений читателей. Если я столкнулся с такой загвоздкой, то не исключено, что другие не столкнутся. Кстати, может подскажешь. Там далее по книге, где про цветофильтры рассказывается. Такое впечатление, что с матрицами преобразования что-то не то.

8daemon: Kuler пишет: Вполне возможно. Я с графикой совсем недавно работаю, многое еще не знаю. Тем не менее данная опция выставлена в примерах, которые предоставляют разработчики программы. И на картинке в книге видно, что для прохода Render State выставлен. В общем-то я это написал для тех, для следующих поколений читателей. Если я столкнулся с такой загвоздкой, то не исключено, что другие не столкнутся. Кстати, может подскажешь. Там далее по книге, где про цветофильтры рассказывается. Такое впечатление, что с матрицами преобразования что-то не то. Я правда не начинал читать этой книги, жду когда она будет полностью переведена. Укажи точное положение матрицы (глава, раздел).

Kuler: To 8daemon: Глава пятая, подраздел "Черно-белый, как в старые времена", рисунок 5.10. Я черно-белое изображение получил, но несколько отличным способом, как приведено в книге. Именно данный пример дает какое-то зеленоватое изображение. Я этот вопрос прогуглил, в литературе тоже не так описывается это дело, в частности предлагается использовать матрицу 5х5 для цветовых преобразований (с дополнительной строкой и столбцом).

8daemon: Kuler пишет: Глава пятая, подраздел "Черно-белый, как в старые времена", рисунок 5.10. Я черно-белое изображение получил, но несколько отличным способом, как приведено в книге. Именно данный пример дает какое-то зеленоватое изображение. Я этот вопрос прогуглил, в литературе тоже не так описывается это дело, в частности предлагается использовать матрицу 5х5 для цветовых преобразований (с дополнительной строкой и столбцом). Почитал, математически всё верно. Только я не понял, зачем они цветовой вектор представляют матрицей столбцом, когда она идёт матрицей строкой float4x4 color_filter; sampler Texture0; float4 ps_main(float2 texCoord: TEXCOORD0) : COLOR { // Читаем исходный цвет float4 col = tex2D(Texture0, texCoord); // Применяем матрицу к исходному цвету return mul(col, color_filter); } Так попробуй, предварительно транспонировав матрицу на рисунке 5.10, надеюсь значешь как это делается.

Kuler: Кстати, по поводу 8daemon пишет: Ты скорее всего сменил или забыл сменить стандартный обход вершин, который указывает стороны треугольника видимую и не видимую D3DRS_CULLMODE - определяет способ отображения задней стороны треугольника. D3DCULL_NONE - не выбирает задние грани, т.е. обратная сторона треугольника будет отображаться. Так что ты все верно сказал. Единственно что в только что установленной программе этот параметр нужно выставить.

Kuler: To 8daemon. Отлично, так работает. Матрицу преобразования оставил без изменения, а собака порылась в строке return mul(col, color_filter); Это ж матрицы, тут от перемены множителей результат меняется. В книге множители стоят наоборот.

8daemon: Обычны в реальных программах придерживаются определенного обхода вершин по или против часовой стрелки, которые указывают переднюю сторону треугольника, что увеличивает частоту кадров, засчет отброса треугольников, которые повернуты к камере задней стороной, что уменьшает число треугольников на конвейере визуализации. Правда это не говорит, что не нужно использовать D3DCULL_NONE, например, при отображении прозрачных объектов, думаю данный параметр пригодится и возможно при рендеринге зеркал

8daemon: Kuler пишет: To 8daemon. Отлично, так работает. Матрицу преобразования оставил без изменения, а собака порылась в строке return mul(col, color_filter); Это ж матрицы, тут от перемены множителей результат меняется. В книге множители стоят наоборот. Нет тут как раз надо матрицу транспонировать, попробуй на листке перемножить вектор цвета на матрицу, и поймёшь

8daemon: delete

Kuler: Ты все правильно говоришь. |ColorFilter| * |Color| : |Kx Ky Kz 0| |Kx Ky Kz 0| |Kx Ky Kz 0| |0 0 0 1| * | R | | G | | B | | A | = | Kx*R+Ky*G+Kz*B | | Kx*R+Ky*G+Kz*B | | Kx*R+Ky*G+Kz*B | | A | |Color| * |ColorFilter|T: |R G B A | * | Kx Kx Kx 0 | | Ky Ky Ky 0 | = | Kx*R+Ky*G+Kz*B Kx*R+Ky*G+Kz*B Kx*R+Ky*G+Kz*B A | | Kz Kz Kz 0 | | 0 0 0 1 | Результат практически одинаковый, что подтверждается практикой. Но есть нюанс. В настройках пиксельного шейдера нужно выставить свойство, является матрица Row_major или Column_major (по умолчанию). Иначе получается абы что. Когда ставишь Row_major, тогда все ОК. Спасибо за консультацию. Помогло разобраться.

8daemon: Kuler пишет: Результат практически одинаковый, что подтверждается практикой. Но есть нюанс. В настройках пиксельного шейдера нужно выставить свойство, является матрица Row_major или Column_major (по умолчанию). Иначе получается абы что. Когда ставишь Row_major, тогда все ОК. Я насчёт этого уже писал в одном из тем по ДиректХ 11 на данном форуме. Незачто.

Kuler: http://www.pudn.com/downloads164/sourcecode/game/detail746580.html - здесь можно скачать архив со всеми примерами кода из книги.

netlib: Спасибо, скачал. Надо будет возобновить перевод.

8daemon: netlib пишет: Надо будет возобновить перевод.

Kuler: Да, с примерами гораздо проще изучать. О многих деталях в плане значений переменных или настройках программы в тексте ничего нет, а без опыта самостоятельно их подобрать не всегда представляется возможным.

EpoLLIa: Здравствуйте все. Уважаемый netlib немог бы ты мне выслать эту книгу архивом spirit_st@mail.ru буду очень признателен

vovan_l10n: Если можна и мне ))) vovan_l10n@inbox.ru И еще один вопросик - перевод будет продолжен?

dzatvorniy: Здравствуйте все. Можно было б выслать эту книгу архивом мне dzatvorniy@gmail.com на перед огромное спасибо!!! ЗЫ перевод будет продолжаться этой книги?

Коля: А кде скачат нормальную книгу Линейная Геометрия? Книга гуд великий венкс афторам и переводчику.

Коля: Или Алгебра.

dstrrus: Примеры к книге [url=http://ifolder.ru/23322265]click here[/url]

fqf: спасибо большое за ресурс. очень классно что такой сайт есть. было бы круто увидеть книги к примеру по autodesk maya. на российском рынке их почти нет. кстати если бы книги были бы в пдфках купил бы за адекватную цену.

Riddik: Ребята, как можно скачать книгу одним файлом (pdf)?

Koliforny: Большое спасибо за качественный перевод. Очень хотелось бы увидеть законченный вариант. Будет ли завершена работа над этой книгой?

Alster:

Leo: как эту книгу смотреть/скачать ?

Starksky: netlib когда будет продолжение перевода? и как ты переводишь? с помощью переводчика или словаря или с помощью мозга?)) просто очень хорошо перевод получается))



полная версия страницы