Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Xors3D

Xors3D Графический движок с поддержкой DirectX9

Ответ
 
Опции темы
Старый 03.05.2014, 22:39   #121
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений
(для 631 пользователей)
Ответ: Xors3D. Шейдеры. Урок первый

Сообщение от Mr_F_
необязательно.
варианта два - компилятор решает какой выбрать:
Ещё можно указать явно:
[ branch ] if ( ... ) { ... }
Для if и switch можно указывать branch или flatten, соответственно динамически или нет.
Для for, while можно указать unroll( x ) или loop, первый разворачивает цикл, в необязательном параметре можно указать насколько развернуть, loop - цикл не разворачивается.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Samodelkin за это полезное сообщение:
moka (03.05.2014), Mr_F_ (03.05.2014)
Старый 10.05.2014, 11:14   #122
tirarex
Бывалый
 
Аватар для tirarex
 
Регистрация: 23.11.2011
Сообщений: 863
Написано 334 полезных сообщений
(для 866 пользователей)
Ответ: Xors3D. Шейдеры. Урок первый

Вот такой вопрос .
Делаю спотлайт для деферреда и настигла проблема .

Код спотлайта

cD = cD * cLightColor;
float3 vLight = normalize(vLightPos - vWorldPos.xyz);
float NdotL = max(0.0f, dot(vNormal, vLight));
float cosAngle = max(0.0f, dot(-vSpotLightDir, vLight));
float resi = saturate(1.0f - distance(vWorldPos.xyz, vLightPos) / fLightRadius);
float spotAtten = smoothstep(vLightAngles.x, vLightAngles.z, cosAngle);
cD=cD*(NdotL*spotAtten);

из кода
xSetEffectVector gPostPoly,"vLightAngles",0.1,0,numval(180)


Чем больше vLightAngles.z тем ярче спотлайт
в итоге я получаю еле светлый свет при яркости 255(1в шейдере).
Как исправить я даже не знаю
(Offline)
 
Ответить с цитированием
Старый 08.06.2014, 19:48   #123
Izunad
ПроЭктировщик
 
Аватар для Izunad
 
Регистрация: 02.06.2011
Адрес: Набережные Челны
Сообщений: 103
Написано 27 полезных сообщений
(для 91 пользователей)
Ответ: Xors3D. Шейдеры. Урок первый

Ребят, а можно както заиндексировать текстурки?

Пробывал сделать так:
разместил на текстуру 512х512 16 текстурок по 128х128;
Оказалось что такое не прокатывает ибо изза фильтрации по краю тайла выводятся цвета соседнего тайла
(Offline)
 
Ответить с цитированием
Старый 08.06.2014, 20:24   #124
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Xors3D. Шейдеры. Урок первый

нужно делать спец края вокруг тайлов. т.е. ещё несколько пикселей продолжения тайла в бока, и выборку менять, чтобы брать квадрат без краёв этих. тогда фильтроваться нормально будет.
если тексы одного размера, можно в 3д текстуру положить и выбирать слои её. ну и на дх10+ на это есть текстурные массивы.
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Izunad (08.06.2014)
Старый 08.06.2014, 21:35   #125
Izunad
ПроЭктировщик
 
Аватар для Izunad
 
Регистрация: 02.06.2011
Адрес: Набережные Челны
Сообщений: 103
Написано 27 полезных сообщений
(для 91 пользователей)
Ответ: Xors3D. Шейдеры. Урок первый

Хм, оказалось что проблема даже не из за "соседних тайлов", так как я размножил один тот же тайл по всей текстуре, но при прорисовке видна грань с цветом от пикселя 0:0


static float4 Colorka : COLOR;
texture Texture000: TEXTURE;

sampler Sampler1 = sampler_state
{
	Texture = <Texture000>;
};

struct PSInput 
{
	float2 texCoords : TEXCOORD0; 
};

float4 PSMain (PSInput input): COLOR {
	Colorka=tex2D(Sampler1,input.texCoords%0.25f);
	return float4(Colorka);
}

technique MainTechnique
{
	pass p
	{
		AlphaBlendEnable = 1;
		PixelShader	= compile ps_2_0 PSMain();
	}
}
Получается что когда input.texCoords почти кратна 0.25f он высчитывает цвет из координатов 0.0f
(Offline)
 
Ответить с цитированием
Старый 08.06.2014, 21:56   #126
Izunad
ПроЭктировщик
 
Аватар для Izunad
 
Регистрация: 02.06.2011
Адрес: Набережные Челны
Сообщений: 103
Написано 27 полезных сообщений
(для 91 пользователей)
Ответ: Xors3D. Шейдеры. Урок первый

Проблема решаема. Оказывается работает так input.texCoords%0.1 или input.texCoords%0.2 0.3 0.4 0.5 и так далее, главное чтобы после запятой была одна цифра. + дополнительные грани от Mr_F_
(Offline)
 
Ответить с цитированием
Старый 12.06.2014, 19:49   #127
Izunad
ПроЭктировщик
 
Аватар для Izunad
 
Регистрация: 02.06.2011
Адрес: Набережные Челны
Сообщений: 103
Написано 27 полезных сообщений
(для 91 пользователей)
Ответ: Xors3D. Шейдеры. Урок первый

если тексы одного размера, можно в 3д текстуру положить и выбирать слои её
А можно поподробнее, что такое 3д текстура для начала?
(Offline)
 
Ответить с цитированием
Старый 12.06.2014, 20:34   #128
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Xors3D. Шейдеры. Урок первый

Сообщение от Izunad Посмотреть сообщение
А можно поподробнее, что такое 3д текстура для начала?
http://gamedev.stackexchange.com/que...re-3d-textures
GOOGLE?

Я не зануда, но это на столь уже базовые знания везде пережованные...
(Offline)
 
Ответить с цитированием
Старый 12.06.2014, 20:41   #129
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений
(для 631 пользователей)
Ответ: Xors3D. Шейдеры. Урок первый

Нужно в школе ввести отдельный предмет "Что такое поисковые системы и зачем они нужны".
(Offline)
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо Samodelkin за это полезное сообщение:
ARA (12.06.2014), moka (12.06.2014), Mr_F_ (12.06.2014), St_AnGer (11.08.2014)
Старый 12.06.2014, 22:22   #130
Arton
Быдлокодер
 
Аватар для Arton
 
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,019
Написано 2,312 полезных сообщений
(для 5,349 пользователей)
Ответ: Xors3D. Шейдеры. Урок первый

Сообщение от Samodelkin Посмотреть сообщение
Нужно в школе ввести отдельный предмет "Что такое поисковые системы и зачем они нужны".
И психологию занудства. Тоже полезно будет.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
h1dd3n (13.06.2014)
Старый 10.08.2014, 00:09   #131
Arton
Быдлокодер
 
Аватар для Arton
 
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,019
Написано 2,312 полезных сообщений
(для 5,349 пользователей)
Ответ: Xors3D. Шейдеры. Урок первый

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

SH.7z

Каждый раз ошибка:
Нажмите на изображение для увеличения
Название: fsdfdesf.jpg
Просмотров: 1447
Размер:	144.9 Кб
ID:	20784

Если убрать проверку всё равно не работает (не накладывается/не загружается).
(Offline)
 
Ответить с цитированием
Старый 10.08.2014, 04:11   #132
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений
(для 631 пользователей)
Ответ: Xors3D. Шейдеры. Урок первый

Сообщение от Arton Посмотреть сообщение
Копипаста из урока.
Не работают шейдеры, я запарился, хочу что бы кто-нибудь взглянул:

Вложение 20783

Каждый раз ошибка:
Вложение 20784

Если убрать проверку всё равно не работает (не накладывается/не загружается).
Ну я не собирал, тем более с Хорсом не работал никогда, но взглядом прошелся по коду -- в шейдере у тебя в функции PSMain строка
float lit 	= dot(input.normal, 8lightDirection);
имя 8lightDirection - опечатка.

Вообще это же неудобно, представь что у тебя код шейдера в несколько тысяч строк, как ты будешь опечатки искать? Если Хорс не предоставляет информацию по компиляции шейдеров, то придумай что-нибудь, например напиши свой код который использует дх напрямую, где есть отчёт о сборки шейдера.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Arton (10.08.2014)
Старый 10.08.2014, 04:14   #133
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Xors3D. Шейдеры. Урок первый

ксорс можно заставить выплёвывать жирный хтмл с логом ошибок, включая все ошибки компила шейдеров.
шейдер ежели не скомпилился, то вернёт ноль, дальше ты этот 0 суёшь в ValidateTechnique и крашишься.
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Arton (10.08.2014)
Старый 10.08.2014, 12:41   #134
tirarex
Бывалый
 
Аватар для tirarex
 
Регистрация: 23.11.2011
Сообщений: 863
Написано 334 полезных сообщений
(для 866 пользователей)
Ответ: Xors3D. Шейдеры. Урок первый

Сообщение от Arton Посмотреть сообщение
Копипаста из урока.
Не работают шейдеры, я запарился, хочу что бы кто-нибудь взглянул:

Вложение 20783

Каждый раз ошибка:
Вложение 20784

Если убрать проверку всё равно не работает (не накладывается/не загружается).
Там было несколько ошибок.
На сайте mok'и поищи tv3d shader editor,
Полезная штуковина.
Вложения
Тип файла: rar Diffuse.rar (672 байт, 541 просмотров)
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Arton (10.08.2014)
Старый 10.08.2014, 18:57   #135
Arton
Быдлокодер
 
Аватар для Arton
 
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,019
Написано 2,312 полезных сообщений
(для 5,349 пользователей)
Ответ: Xors3D. Шейдеры. Урок первый

Спасибо большое

Сообщение от Samodelkin Посмотреть сообщение
float lit 	= dot(input.normal, 8lightDirection);
имя 8lightDirection - опечатка.
Вместо "8" должен было быть "-", почему-то при копирование из pdf все "-" заменились на "8" (не говоря уже о потерянном форматирование). Заменял, но не всё заметил.

У Моки утилиту давно не смог скачать т. к. она на юкозе, старую регистрацию не помню, а новая не прошла, попробую ещё раз.

Про выдачу ошибок шейдера в лог не знал.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шейдеры pax Наш форум 14 25.10.2009 22:16
Xors шейдеры Spy4433 Xors3D 3 28.08.2009 17:27
Типа шейдеры... :-) L.D.M.T. 3D-программирование 1 14.02.2009 13:19
Урок Фауста Magus Болтовня 0 13.07.2007 02:03
Ashadow & Шейдеры DRAG 3D-программирование 16 10.01.2007 22:21


Часовой пояс GMT +4, время: 09:39.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com