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

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

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

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 02.07.2011, 18:06   #121
Program23
Бывалый
 
Аватар для Program23
 
Регистрация: 26.04.2009
Адрес: Россия, Уфа
Сообщений: 680
Написано 182 полезных сообщений
(для 406 пользователей)
Ответ: Имитация водной поверхности.

Нашел баг.
Кажется, генератор не дорисовал картинку)
Нажмите на изображение для увеличения
Название: bug.JPG
Просмотров: 836
Размер:	23.5 Кб
ID:	14264
(Offline)
 
Ответить с цитированием
Старый 02.07.2011, 18:07   #122
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Имитация водной поверхности.

Не это я на высоте 0 отметку даю таким цветом В той точке ровно ноль

А, я не могу, оно оказывается еще и бесшовную текстуру рожает .
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Program23 (02.07.2011)
Старый 02.07.2011, 21:07   #123
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Имитация водной поверхности.


Второй эскиз террэйна.

Последний раз редактировалось dsd, 10.08.2011 в 03:06.
(Offline)
 
Ответить с цитированием
Старый 03.07.2011, 18:45   #124
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Имитация водной поверхности.

Написал первый порношейдер методом... В общем, неправильным методом . Делает он следующее рисует текстуру и все. Потом мне захотелось добавить функциональности в вершинный шейдер, сделал ввод переменной из хорса в шейдер. Далее решил умножить координаты вертексов на синус от введенной переменной.

//Матрицы
//xSetEffectMatrixSemantic tModel,"MatWorldViewProj",WORLDVIEWPROJ
//xSetEffectMatrixSemantic tModel,"MatWorld",WORLD
float4x4 MatWorldViewProj;
float4x4 MatWorld;

// вношу время из хорса
float time;

// Объявление переменных в данном случае вывод пиксельного шейдера
static float3 Color;
static 
float4 cD;

//Передача тестуры в шейдер
//xSetEffectTexture tModel,    "InShaderTextureName",texDiffuse
const texture InShaderTextureName;            
sampler TexDiffuse=sampler_state //тут я говорю что текстура Diffuse типа
    
Texture   = <InShaderTextureName>;
   };


//######  Ввод в вершинный шейдер  ##################
struct VertexShaderInput {
   
float4 Position POSITION0;     // мировая позиция вершины
   
float3 Normal NORMAL;            // нормаль к этой вершине
   
float2 TexCoords TEXCOORD0;     // координаты точки на текстуре
};
//#  Вывод вершинного шейдера = ввод пиксельного  ###
struct PixelShaderInput {
    
float4 Position POSITION0;    //новая мировая позиция вершины
    
float4 pWorld TEXCOORD0;
    
float3 Normal TEXCOORD1;
    
float2 TexCoords TEXCOORD2;
};


//вершинный шейдер
void NameOfVertexShaderFunctionin VertexShaderInput INout PixelShaderInput OUT ) {
    
//OUT.Position    = mul((mul(IN.Position,MatWorldViewProj)),cos(time));
    
[b]OUT.Position    mul(IN.Position,MatWorldViewProj)*cos(time);[/b]
    
OUT.pWorld        mul(IN.Position,MatWorld);
    
OUT.Normal        normalize(mul(IN.Normal,MatWorld));
    
OUT.TexCoords    IN.TexCoords;
}

//пиксельный шейдер
float4 NameOfPixelShaderin PixelShaderInput IN ) : COLOR {
    
cD            tex2D(TexDiffuse,IN.TexCoords);
    
Color        cD.rgb;    
    return 
float4(Color,cD.a);
}


//##################  Technique  ##################
// здесь расположен проход этот кусок заставляет исполняться шейдер
//xSetEffectTechnique tModel,"TechniqueName"
technique TechniqueName {
    
pass p0 //проход рендера их может быть несколько с разными шейдерами
        
AlphaBlendEnablefalse;
        
vertexshader    compile vs_2_0 NameOfVertexShaderFunction(); 
        
pixelshader        compile ps_2_0 NameOfPixelShader();
    }

Но вместо плавного морфинга получилось моргание меша, на который применен мой чудо шейдер, это от того что в float4 Position : POSITION0; есть еще и W и умножение на синус и дает такой чудный эффект моргания?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Program23 (03.07.2011)
Старый 03.07.2011, 21:19   #125
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Имитация водной поверхности.


рэвин хорстридэ и начинающий его юзер
(Offline)
 
Ответить с цитированием
Старый 04.07.2011, 03:10   #126
h1dd3n
Бывалый
 
Аватар для h1dd3n
 
Регистрация: 19.06.2008
Сообщений: 679
Написано 264 полезных сообщений
(для 450 пользователей)
Ответ: Имитация водной поверхности.

Эммм дак ты нифига себе че делаешь то)) Ты сначала умножаешь координаты вертекса на ввп матрицу, а ПОТОМ умножаешь на косинустайм. Есстественно на экране будет ппц что...
Тебе надо сначала умножить координаты так как хочешь, а потом уже умножать на матрицу.
Примерно так:
v2f o;

float CosTime = (cos(_Time.y) * 0.5 + 0.5);
o.pos = v.vertex;
o.pos.xyz = o.pos.xyz * CosTime;
o.pos = mul(UNITY_MATRIX_MVP, o.pos);
					
return o;
_Time.y это то что у тебя просто time.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
dsd (04.07.2011)
Старый 04.07.2011, 12:47   #127
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Имитация водной поверхности.

POSITION0; есть еще и W и умножение на синус и дает такой чудный эффект моргания?
совершенно верно! яже говорил уже тебе, что на ето W будет потом делиться все остальные компоненты. меш типа увеличивается в бесконечноть? умножай только первые три компоненты, а четвертую не трож.



фу hlsl
столько лишней писанины
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
dsd (04.07.2011)
Старый 04.07.2011, 14:01   #128
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Имитация водной поверхности.

Проще разделять координаты оперируя координата.x, координата.y, координата.z или получить вектор позиции A(x,y,z,w), потом уже работать с ним? Если допустим хочу сжать модель по Z в два раза то получаю итоговый вектор В(x,y,0.5*z,w) и с ним уже имею конструкцию выводящую из вертексного шейдера: OUT.Position = mul(В(x,y,0.5*z,w),MatWorld)?
И как я понимаю в OUT.Position будет записана не координата в позиции меша, а координата вертекса относительно глобальных мировых координат сцены?

Вот это должно сжать модель по Зед, так или не так?
mul(mul(IN.Position,B(1,1,0.5,1)),MatWorld)
(Offline)
 
Ответить с цитированием
Старый 04.07.2011, 14:40   #129
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Имитация водной поверхности.

mul(float4((IN.Position.xyz * float3(1.0,1.0,0.5)),IN.Position.w),MatWorld).
Писал в броузере.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
dsd (04.07.2011)
Старый 04.07.2011, 20:32   #130
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Имитация водной поверхности.

Рисую няньку гг, вроде ниче такая получается

Другой ракурс с теселяцией
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо dsd за это полезное сообщение:
Randomize (04.07.2011), Reks888 (04.07.2011)
Старый 04.07.2011, 21:08   #131
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Имитация водной поверхности.

настолько недоделанные меши лучше не показывать. что ты хочешь о них услышать то?
(Offline)
 
Ответить с цитированием
Старый 04.07.2011, 21:11   #132
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Имитация водной поверхности.

Лучше кодь, а модельки дай другим поделать или скачай с онлайна..
(Offline)
 
Ответить с цитированием
Старый 04.07.2011, 21:11   #133
Reks888
Дэвелопер
 
Аватар для Reks888
 
Регистрация: 04.11.2009
Адрес: Украина, Днепропетровск
Сообщений: 1,480
Написано 662 полезных сообщений
(для 1,985 пользователей)
Ответ: Имитация водной поверхности.

Славу гнома хочет
Глаза то кул
__________________
>type C:\MyProj\*
www.sypiac.weebly.com
>
(Offline)
 
Ответить с цитированием
Старый 04.07.2011, 21:26   #134
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Имитация водной поверхности.

Господа, мой код еще страшней моих моделек. Но сиськи как живые вроде
(Offline)
 
Ответить с цитированием
Старый 04.07.2011, 21:35   #135
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Имитация водной поверхности.

Но сиськи как живые вроде
не. в кучку как-то собраны, в реале они должны больше в стороны быть направлены.
сверху ещё у тебя типа шов между ними, в реале там его практически нет (потому что они оттуда как бы расти начинают).
http://thumbs.dreamstime.com/thumbla...6161b3U3Kx.jpg

ключиц я тоже чет не вижу у него.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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