22 Сентября 2024, 10:32:53
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Навигация по форуму







guest3d
Quest3D - Русскоязычное сообщество > Quest3D > Визуализация, Шейдеры > "Крутизна и реализьм" - тема про шейдеры
"Крутизна и реализьм" - тема про шейдеры
(Прочитано 141851 раз)
  1 ... 3 4 [5] 6 7 ... 11
Печать
→|๖ۣۜDen|← | ***** | Администратор | Ветеран | Сообщений: 570 | «Ответ #60 11 Ноября 2008, 22:53:33 »
Re: "Крутизна и реализьм" - тема про шейдеры |
60
Поддерживаю тебя Brothermechanic! Где вы умы? В замешательстве Плачущий
BROTHERMECHANIC | ** | Пользователь | Сообщений: 62 | «Ответ #61 12 Ноября 2008, 20:44:18 »
Re: "Крутизна и реализьм" - тема про шейдеры |
61
- в mental mill открыл "demo_step_1" и сохранил в FX composer шейдер "fong.fX"
(1 текстура ENVIROMENTCUBE, остальное цвет и т.п.),
- в FX composer все работает отлично, подключил текстуру.
- Проштудировал код от и до, попутно сравнивая его с проверенным (стопудово работающим) шейдером И ПОСЛЕ КАЖДОГО ИЗМЕНЕНИЯ наблюдал что происходит в квесте (ничего не менялось, повлияла только текстура отражения)
Опять та же история. Повторюсь: как правильно подключить Источник Света (сцены квеста) к шейдеру или что еще можно сделать и изменить код, куда смотреть, где про это еще говорят, пусть на английском?

ЗЫ: Когда пробовал перевести из композера его родной phong - та же проблема со светом

Картинка
http://pic.ipicture.ru/uploads/081112/6IWqk5cGbG.jpg

Архив с шейдером и cgr

http://rapidshare.com/files/163120691/Hell_Lit_in_shader.rar.html
« Последнее редактирование: 12 Ноября 2008, 20:50:15 от Brothermechanic »
Den_ya | **** | Старожил | Сообщений: 360 | «Ответ #62 12 Ноября 2008, 22:14:22 »
Re: "Крутизна и реализьм" - тема про шейдеры |
62
Brothermechanic
ты хотел чтобы получилось так? см.рис.blic
если да то:
шейдер работает нормально,перейди в меню Object\ выбери тот обьект к которому ты прикрепил HLSLObject,дальше откроетя настоика шейдера,там откроются те настройки(Shader properties) которые были написаны для этого шейдера. см.рис.nastroiki shadera

свет действительно не влияет на блик(так он был написан)


* blic.gif (66.46 Кб, 800x581 - просмотрено 1605 раз.)

* nastroiki shadera.gif (43.01 Кб, 809x629 - просмотрено 1611 раз.)
BROTHERMECHANIC | ** | Пользователь | Сообщений: 62 | «Ответ #63 14 Ноября 2008, 16:43:16 »
Re: "Крутизна и реализьм" - тема про шейдеры |
63
Повторюсь:
этот шейдер я получил в mentall mill из ихнего примера demo_step_1 (самому там че-нить замакарить просче простого, взял demo_step_1 "для чистоты эксперимента"),
переделал синематику как написано
http://support.quest3d.com/index.php?title=Quest3D_Semantics
Цитировать
сравнивая его с проверенным (стопудово работающим) шейдером
(реагирующим на свет), (вкладку properties прописал тоже я)
НО в квесте шейдер работает, да. Но не реагирует на свет.
ТКНИТЕ МЕНЯ НОСОМ В В СТРОКИ КОДА которые это исправят, пожалуйсто.

PS: В Fx Composer-e блик есть.
Den_ya | **** | Старожил | Сообщений: 360 | «Ответ #64 14 Ноября 2008, 17:53:03 »
Re: "Крутизна и реализьм" - тема про шейдеры |
64
ммм...вот терь понял,о чем речь, тока я тогда в этом не советник,но вопросов я назадаю Смеющийся Смеющийся Смеющийся
 - я открыл пример(до этого момента я и не знал что есть примеры,просто второй раз в этой программе разбираюсь) с demo_step_1(с этого примера я наконец то понял,почему при экспорте прога запрвшивант свет к шейдеру,я до этого пытался его прикрепить к шейдеру(правда из этого ничго не получалось,а нооборот получалось шейдер к свету),оказывается этого делать и не надо анологично так и с Enviroment)наконец то получился удачный экспорт и квест его принял без проблем,но во вкладке properties пустота
-синематика - что это и для чего это нужно для шейдера
-как посматреть этот стопудово работаюший шейдер
BROTHERMECHANIC | ** | Пользователь | Сообщений: 62 | «Ответ #65 15 Ноября 2008, 18:47:10 »
Re: "Крутизна и реализьм" - тема про шейдеры |
65
Отлично, будем подтягивать народ к проблеме!
Шейдер (микс 2 цветов по текстуре)
http://rapidshare.com/files/164038671/ColorMIX.fx.html
Вот он реагирует на свет
За подключение "лампочки" отвечают эти строки

float3 light_pos[8]   : LIGHTPOS; 
float4 light_color[8]   : LIGHTCOLOR; , по-моему УлыбающийсяНепонимающий

их я заменил, но все равно не работает.
Синематику квеста я прочел на странице
Цитировать
Это как пояснение для квеста что есть что *текстура, значение, вектор... - интерфейс настройки шейдера, грубо говоря.
Den_ya | **** | Старожил | Сообщений: 360 | «Ответ #66 15 Ноября 2008, 19:38:01 »
Re: "Крутизна и реализьм" - тема про шейдеры |
66
Цитировать
Это как пояснение для квеста что есть что *текстура, значение, вектор... - интерфейс настройки шейдера, грубо говоря.
проще говоря "Синематика - это код который заставляет квест понимать шейдер"
сейчас разбираю этот шейдер так что проблемы или их решения напишу позже
BROTHERMECHANIC | ** | Пользователь | Сообщений: 62 | «Ответ #67 16 Ноября 2008, 20:46:53 »
Re: "Крутизна и реализьм" - тема про шейдеры |
67
Цитировать
разбираю этот шейдер
Видимо я его недоперевел, попробуй перевести FX Composer-ский шейдер, хоть просто "Blin".
Буду признателен любым новостям!
Den_ya | **** | Старожил | Сообщений: 360 | «Ответ #68 17 Ноября 2008, 02:12:39 »
Re: "Крутизна и реализьм" - тема про шейдеры |
68
уф,подзапарился я с этими шейдерами,
дело в том что мне нужен еще круче шейдер,поэтому решил сначало разобрать шейдер попроще.

в начале я вообще не понимал что к чему,и так и сяк и не как в итоге Смеющийся(это я про mental mill (TM) Artist Edition)
решил попробую что нить слепить из Shader fx и все получилось на ура,потому что Shader fx очень хорошо экспортирует код в квест , код получается оккуратный,любо дорого смотреть Смеющийся не то что из mental mill Злой (кстати Brothermechanic шейдер ColorMIX который ты предоставил похоже из Shader fx Подмигивающий ) и возникла такая мысля, а не загрузить ли мне mental mill'кий шейдер через Shader fx,а потом в квест,только вот я обломался,Shader fx - не загружает чужеродные файлы Смеющийся и тут у меня сразу же появился вывод что Shader fx мне больше не нужен,так как он просто тонет маленькой капелькой в огромном выборе Nvidia'ских шейдерах,теперь его можно использовать только как наглядное пособие и все(может быть только если начинающему программисту который решит писать шейдеры под квест)пока я ковырялся с Shader fx случайно или нет(непомню)
я загрузил через макс пример demo_step_1 и вопрос
Цитировать
-как посматреть этот стопудово работаюший шейдер?
отпал сам собой,потому что похоже mental mill'кие .fx очень хорошо дружат с максом(кроме навороченных)см.рис.MAX и тут я увидел что у шейдера открылись настройки,я решил действовать отталкиваясь от макса и у меня получилось такие же настройки  в квесте см.рис. kvest
кроме одних это - свет , со светом мне так и не удалось справится(может кто нибуть дошарит все таки как его запустить)
я думаю что дело на самом деле обстоит очень просто - дело  в том что свет шейдера неможет прикрепиться к свету который выстовляеш в кветсе, нужно всего лиш их связать, это может быть всего одна строчка и все,только я не програмист к сожалению и все делаю отталкиваясь от логики или интуиции,а пророй методом тыка

я нашол одну мне непонятную строчку которая не на что не реагирует ни на CHANNELVECTOR0,CHANNELVALUE0,LIGHTPOS да и вобще я перебрал все варианты которые написанны в сениматики квеста результат ноль см.№ 7 рисунка kod , я думаю наверно это и есть та строка которая связывает свет.

выводы по коду:
- в строках
Цитировать
float4 __light0_color : CHANNELVECTOR0
<
   string UIName = "Light0 Color";
   string UIWidget = "Color";
> = float4(1.000000f, 1.000000f, 1.000000f, 1.000000f);
ставим вектор канала - CHANNELVECTOR0
- в строках
Цитировать
float __light0_intensity : CHANNELVALUE0
<
   string UIName = "Light0 Intensity";
   float UIMin = 0.000000;
   float UIMax = 10.000000;
   float UIStep = 0.01;
   string UIWidget = "slider";
> = 1.000000;
ставим значение канала - CHANNELVALUE0
- в строках
Цитировать
texture __Environment_map_cubic_1_env_tex : TEXTURE0
<
   string UIName = "Environment_map_cubic_1_env_tex";
   string ResourceName = "default_reflection_cubic.dds";
   string ResourceType = "Cube";
>;

samplerCUBE Environment_map_cubic_1_env_tex = sampler_state {
   Texture = <__Environment_map_cubic_1_env_tex>;
   MinFilter = Linear;
   MagFilter = Linear;
   MipFilter = Linear;
   AddressU = Clamp;
   AddressV = Clamp;
   AddressW = Clamp;
};
ставим в звависимости от шейдера TEXTURE0 или ENVIRONMENTCUBE
вот файл с моей сценой

* MAX .gif (112.37 Кб, 1024x768 - просмотрено 1643 раз.)

* kvest .gif (107.9 Кб, 1024x768 - просмотрено 1633 раз.)

* kod.gif (115.35 Кб, 1540x1503 - просмотрено 1573 раз.)
BROTHERMECHANIC | ** | Пользователь | Сообщений: 62 | «Ответ #69 17 Ноября 2008, 04:50:00 »
Re: "Крутизна и реализьм" - тема про шейдеры |
69
Цитировать
ColorMIX который ты предоставил
Ну схитрил немного, просто я тоже считаю SFX отстоем, и я не работаю в максе, и хочется разобрать Mentall Mill, его немцы сделали на славу (ты видел там ноду с паралаксом?).

Ты проделал в точности что и я (только я переводил MM->FXC->Q3D), да UI одинаковый везде (незря же он I:)
Вопрос про реакцию на свет открыт. Это определенно
Цитировать
float3 light_pos[8]   : LIGHTPOS; 
float3 light_color[8]   : LIGHTCOLOR;
(думаю float4[8] = float3)
Похоже на то что еще есть стороки, влияющие на свет,
и еще щас пришла мысль, если получится - напишу.
ЗЫ: А в максе реагирует на свет?
« Последнее редактирование: 17 Ноября 2008, 04:54:29 от Brothermechanic »
Den_ya | **** | Старожил | Сообщений: 360 | «Ответ #70 17 Ноября 2008, 13:51:28 »
Re: "Крутизна и реализьм" - тема про шейдеры |
70
Цитировать
ЗЫ: А в максе реагирует на свет?
да, в максе свет работает отлично
Цитировать
(ты видел там ноду с паралаксом?).
видел,а в чем вопрос?
« Последнее редактирование: 17 Ноября 2008, 13:58:10 от Den_ya »
Den_ya | **** | Старожил | Сообщений: 360 | «Ответ #71 17 Ноября 2008, 23:06:41 »
Re: "Крутизна и реализьм" - тема про шейдеры |
71
вот нашол урок ,похоже я был прав насчет привязки света,только у меня не получается все равно
ковыряться нужно со строкой
Цитировать
float3 __light0_position : Position
<
   string Object = "PointLight0";
   string Space = "View";
   string UIName = "Light0 Light_position";
> = float3(0.000000, 0.000000, 0.000000);

string Object - это название нашего света,я скопировал PointLight0 и переименовал свет,но ничего ниполучилось , я ставил float3 __light0_position : POSITION - LIGHTPOS  и ничего
я только не понял что такое string Space вроде бы все понятно но ведь там может быть любое название?
а вот это я вообще не понял string UIName
« Последнее редактирование: 17 Ноября 2008, 23:40:53 от Den_ya »
BROTHERMECHANIC | ** | Пользователь | Сообщений: 62 | «Ответ #72 19 Ноября 2008, 19:18:03 »
Re: "Крутизна и реализьм" - тема про шейдеры |
72
Эти строки, типа, - координаты виртуального ИС, как я понимаю.
Урок хороший. Сделал по нему шейдер еще неделю назад, сейчас опять протестировал - реакции не РЕАЛЬНЫЙ ИС нет Грустный(((((((( Непонимающий Непонимающий Непонимающий
И, главное в FXCjmposer-е все ок Злой а вот в квесте - нет.
Почему коды из Mentall Mill содержат инфу
Код:
float4 __light0_Light_point_1_color
<
string UIName = "Light0 Color";
string UIWidget = "Color";
> = float4(1.000000, 1.000000, 1.000000, 1.000000);
float __light0_Light_point_1_intensity
<
string UIName = "Light0 Intensity";
float UIMin = 0.000000;
float UIMax = 10.000000;
float UIStep = 0.01;
string UIWidget = "slider";
> = 1.319800;
float __light0_Light_point_1_distance_falloff_exponent
<
string UIName = "Light0 Distance Falloff Exponent";
float UIMin = 0.000000;
float UIMax = 4.000000;
float UIStep = 0.01;
string UIWidget = "slider";
> = 1.000000;
float __light0_Light_point_1_distance_falloff_start
<
string UIName = "Light0 Distance Falloff Start";
float UIMin = 0.000000;
float UIMax = 10.000000;
float UIStep = 0.01;
string UIWidget = "slider";
> = 0.000000;
float __light0_Light_point_1_distance_falloff_limit
<
string UIName = "Light0 Distance Falloff Limit";
float UIMin = 0.000000;
float UIMax = 1000.000000;
float UIStep = 0.01;
string UIWidget = "slider";
> = 1000.000000;
float __light0_Light_point_1_distance_scale
<
string UIName = "Light0 Distance Scale";
float UIMin = 0.001000;
float UIMax = 100.000000;
float UIStep = 0.01;
string UIWidget = "slider";
> = 1.000000;
float3 __light0_position : Position
<
string Object = "PointLight0";
string Space = "World";
string UIName = "Light0 Light_position";
> = float3(0.000000, 0.000000, 0.000000);
А SFX только
Код:
float3 light_pos[8]	: LIGHTPOS; 
 
float4 light_color[8] : LIGHTCOLOR;
Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий
И к HLSLObject с шейдерами от SFX раньше я и не задумывался подключать свет, потому что и так отлично РАБОТАЛО.
Что делать, люди?

Еще: Походу если у шейдера запрограмирован только цвет, то работает свет на нем или нет мохно увидеть не переделывая синематику, так что даже не знаю, в ней ли дело?
Den_ya | **** | Старожил | Сообщений: 360 | «Ответ #73 19 Ноября 2008, 22:14:27 »
Re: "Крутизна и реализьм" - тема про шейдеры |
73
уф, у меня скоро голова взорвется В замешательстве что я только не пробывал не хочет этот свет привязываться и все тут
Цитировать
И, главное в FXCjmposer-е все ок Злой а вот в квесте - нет.
- дело в том что (я так понимаю) Mentall Mill был создан под FX Composer и поэтому синематика сделана в соответствии под FX Composer,хотя может быть есть еще какие то стандарты раз Макс открывает шейдер без проблем,и получется что квест имеет свою собственную синематику не поподающюю под эти стандарты (для чего это сделали я не понимаю),а вот ребята из Shader FX как раз постарались и зделали экспортер кода под квест (сделали его простым и удобным,причем не поленились и даже расписали где что находится)
вот это я если чесно не очень понял -
Цитировать
Еще: Походу если у шейдера запрограмирован только цвет, то работает свет на нем или нет мохно увидеть не переделывая синематику, так что даже не знаю, в ней ли дело?
наверное имелось в виду, что при создании света в сцене,он не как не реагирует,как будто его нет, тоесть свет в шейдере видно,есть ли квестовски свет или его нет - картина одна и та же.
поэтому вижу только два выхода:
1. - искать человека понимающего в програмировании и знании "в линейной алгебре, хотя бы на уровне работы с матрицами и векторами"
2. - шерстить весь оф форум,в надежде что попадется похожий щейдер с таким же кодом (ищу но пока не нашол)
и еще проблема и которая возникнет еще и еще,дело в том что код, у каждого шейдера свой!поэтому сравнивать код FX Composer-ра и Shader FX-бессмысленно(если только есть похожие строки)
оба варианта не подарок, но второй реальнее
и еще,тут у меня мысля возникла пока я ковырялся с этим шейдером, почему нам даются настройки света,а не материала?Непонимающий? получается нужно разбираться еще с самим Mentall Mill-лом так как экспорт дело тонкое и может быть где нибуть мы делаем не то
Den_ya | **** | Старожил | Сообщений: 360 | «Ответ #74 20 Ноября 2008, 00:29:23 »
Re: "Крутизна и реализьм" - тема про шейдеры |
74
вот нашол(правдо я где то уже видел но про это забыл)
немало шейдеров от Shader FX
shaderfx-01.exe
shaderfx-2-q3d.rar
но все таки хотелось бы разобраться с Mentall Mill

* shaderfx-2-q3d.jpg (93.82 Кб, 1024x768 - просмотрено 1655 раз.)
« Последнее редактирование: 21 Ноября 2008, 15:32:29 от Den_ya »
 
  1 ... 3 4 [5] 6 7 ... 11
Печать
 
Quest3D - Русскоязычное сообщество > Quest3D > Визуализация, Шейдеры > "Крутизна и реализьм" - тема про шейдеры
Перейти в: