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

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

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

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

Ответ
 
Опции темы
Старый 16.11.2014, 13:33   #1
van88268
AnyKey`щик
 
Регистрация: 16.11.2014
Сообщений: 4
Написано 0 полезных сообщений
(для 0 пользователей)
Сообщение Помогите подключить шейдер к xors3d

Помогите подключить шейдер к xors3d
вот в архиве есть шейдер http://moka.ucoz.ru/load/0-0-0-84-20


//==================================================
// Varriables
const float4x4 matworldviewproj;
const 
float4x4 matworld;

const 
bool eff[4];

const 
float3 lightPos;
const 
float3 camPos;
const 
float4 clrAmb;
const 
float4 clrLig;
const 
float4 clrSpc;
static 
float height;
static 
float bias;

static 
float bumplight;
static 
float specular;

const 
float2 vdepth;
const 
float2 vdist;

static 
float3 cn;
//static float4 cs;
static float cp;
static 
float4 ccolor;

static 
float3 reflv;
static 
float fRdotL;

static 
float3 pos;

static 
float3 vview;
static 
float falloff;
static 
float2 dist;
static 
float3 vlight;

const 
float2 texScale;


//==================================================
// Textures
texture tdiffuse;
sampler texdiffuse=sampler_state {
    
Texture   = <tdiffuse>;
    
ADDRESSU  WRAP;
    
ADDRESSV  WRAP;
    
ADDRESSW  WRAP;
    
MAGFILTER LINEAR;
    
MINFILTER LINEAR;
    
MIPFILTER LINEAR;
};
texture tnormal;
sampler texnormal=sampler_state {
    
Texture   = <tnormal>;
    
ADDRESSU  WRAP;
    
ADDRESSV  WRAP;
    
ADDRESSW  WRAP;
    
MAGFILTER LINEAR;
    
MINFILTER LINEAR;
    
MIPFILTER LINEAR;
};
texture tdisplace;
sampler texdisplace=sampler_state {
    
Texture   = <tdisplace>;
    
ADDRESSU  WRAP;
    
ADDRESSV  WRAP;
    
ADDRESSW  WRAP;
    
MAGFILTER LINEAR;
    
MINFILTER LINEAR;
    
MIPFILTER LINEAR;
};


//==================================================
// Vertex Shader Input Structure
struct vi {
    
float4 position    POSITION;
    
float3 normal    NORMAL;
    
float3 tangent    TANGENT;
    
float3 binormal    BINORMAL;
    
float3 texcoordsTEXCOORD0;
};

// Pixel Shader Input Structure
struct pi {
    
float4 position    POSITION;
    
float2 texcoordsTEXCOORD0;
    
float3 normal    TEXCOORD1;
    
float3 tangent    TEXCOORD2;
    
float3 binormal    TEXCOORD3;
    
float3 wpos        TEXCOORD4;
    
//float3 vlight    : TEXCOORD1;
    //float3 vview    : TEXCOORD2;
    //float falloff    : TEXCOORD4;
    //float2 dist        : TEXCOORD3;
};


//==================================================
// Vertex Shader Main Functions
void vs(in vi INout pi OUT) {
    
OUT.position    mul(IN.position,    matworldviewproj);
    
OUT.wpos        mul(IN.position,    matworld);
    
OUT.tangent        mul(IN.tangent,    matworld);
    
OUT.binormal    mul(IN.binormal,    matworld);
    
OUT.normal        mul(IN.normal,    matworld);
    
    
OUT.texcoords=IN.texcoords/texScale;
};


//==================================================
// Pixel Shader Main Functions
float4 ps(in pi IN) : COLOR {
    
bias=vdepth.x/2;
    
    if (
eff[0]+eff[1]+eff[2]>0) {
        
float3x3 matTangentSpace=float3x3(IN.tangent,IN.binormal,IN.normal);
        
matTangentSpace transpose(matTangentSpace);
        
        
vview    normalize(camPos-IN.wpos);
        
falloff    dot(vview,IN.normal);
        
vview    normalize(mul(vview,matTangentSpace));
        
        
//dist.y    = 1-(distance(camPos,IN.wpos)/vdist.y);
        
        
if (eff[0]==true) {
            
dist.1-(distance(camPos,IN.wpos)/vdist.y);
            if (
dist.y>.05) {
                
cp                tex2D(texdisplace,IN.texcoords).r;
                
height            = (vdepth.x*cp-bias);
                
IN.texcoords    IN.texcoords+height*vview.xy*dist.y;
            }
        }
        
        
ccolor=tex2D(texdiffuse,IN.texcoords);
        
        if (
eff[1]+eff[2]>0) {
            
dist.1-(distance(lightPos,IN.wpos)/vdist.x);
            if (
dist.x>.01) {
                
vlight    normalize(mul(lightPos-IN.wpos,matTangentSpace)); 
                
cn        normalize(tex2D(texnormal,IN.texcoords)*2-1);
                if (
eff[1]==true) {
                    
bumplight    max(dot(cn,vlight)+0.1f,0.0f)*dist.x;
                    
ccolor        ccolor*(clrAmb*(1-saturate(dist.x)))+ccolor*bumplight*clrLig;
                } else {
                    
ccolor        ccolor*clrAmb;
                }
                if (
eff[2]==true) {
                    
reflv        normalize(dot(vview,cn)*cn-vview);
                    
fRdotL        saturate(dot(reflv,vlight));
                    
specular    saturate(pow(fRdotL,vdepth.y))*(1-pow(1-dist.x,2));
                    
ccolor        +=ccolor*specular*pow(1-falloff,1.5)*clrSpc.w*clrSpc;
                }
            } else {
                
ccolor=ccolor*clrAmb;
            }
        }
    } else {
        
ccolor=tex2D(texdiffuse,IN.texcoords);
    }
    
    return 
ccolor;
};


//==================================================
// Techniques
technique main {
    
pass p0 {
        
vertexshader    compile vs_1_1 vs();
        
pixelshader        compile ps_3_0 ps();
    }
}; 
(Offline)
 
Ответить с цитированием
Старый 16.11.2014, 13:34   #2
van88268
AnyKey`щик
 
Регистрация: 16.11.2014
Сообщений: 4
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помогите подключить шейдер к xors3d

кстати там в архиве есть пример тока он уже скомпилирован ((
(Offline)
 
Ответить с цитированием
Старый 16.11.2014, 14:18   #3
Arton
Быдлокодер
 
Аватар для Arton
 
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,019
Написано 2,312 полезных сообщений
(для 5,349 пользователей)
Ответ: Помогите подключить шейдер к xors3d

Полный Хорс включая примеры — Xors3dTrialFull.exe

Вводный урок по шейдерам, включая разнообразные исходники взятые в основном с оф. сайта, когда тот был жив — Shaders in Xors3d Engine. First steps (RU).7z
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Izunad (04.12.2014)
Старый 16.11.2014, 14:52   #4
van88268
AnyKey`щик
 
Регистрация: 16.11.2014
Сообщений: 4
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помогите подключить шейдер к xors3d

Сообщение от Arton Посмотреть сообщение
Полный Хорс включая примеры — Xors3dTrialFull.exe

Вводный урок по шейдерам, включая разнообразные исходники взятые в основном с оф. сайта, когда тот был жив — Shaders in Xors3d Engine. First steps (RU).7z
мне нада подключить етот шейдер а то шо ты кинул то фигня всё !
(Offline)
 
Ответить с цитированием
Старый 16.11.2014, 15:08   #5
h1dd3n
Бывалый
 
Аватар для h1dd3n
 
Регистрация: 19.06.2008
Сообщений: 679
Написано 264 полезных сообщений
(для 450 пользователей)
Ответ: Помогите подключить шейдер к xors3d

Дак прочитай то что тебе дали, и подключи сам.
__________________
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо h1dd3n за это полезное сообщение:
Izunad (04.12.2014), mauNgerS (16.11.2014)
Старый 16.11.2014, 16:22   #6
Arton
Быдлокодер
 
Аватар для Arton
 
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,019
Написано 2,312 полезных сообщений
(для 5,349 пользователей)
Ответ: Помогите подключить шейдер к xors3d

Колокольчик в голове: ди-ин-до-он.
Колокольчик немного ошибся.
Тут банальная ситуация.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Arton за это полезное сообщение:
Izunad (04.12.2014), mauNgerS (16.11.2014)
Старый 16.11.2014, 18:45   #7
van88268
AnyKey`щик
 
Регистрация: 16.11.2014
Сообщений: 4
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помогите подключить шейдер к xors3d

знал бы я как уже давно подключил и вашы туторы не помогли уже читал .
(Offline)
 
Ответить с цитированием
Старый 16.11.2014, 18:55   #8
tirarex
Бывалый
 
Аватар для tirarex
 
Регистрация: 23.11.2011
Сообщений: 863
Написано 334 полезных сообщений
(для 866 пользователей)
Ответ: Помогите подключить шейдер к xors3d

Сообщение от van88268 Посмотреть сообщение
знал бы я как уже давно подключил и вашы туторы не помогли уже читал .
Значит плохо читал.
В первом уроке по шейдерам все ИДЕАЛЬНО расписано.

P.S. Жи , Ши пиши с буквой И.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Izunad (04.12.2014)
Старый 16.11.2014, 19:40   #9
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Помогите подключить шейдер к xors3d

van88268, приятно видеть что мой сайт еще "доживает", и кто-то пинает давно разлагающийся "труп" - xors3d и blitz3d..
Но время было хорошее.....

van88268, программирование - дело реально тяжкое, сложное, и не каждый может потянуть, и это естественно.
Если давать негативные эмоции и думать что кто-то тебе что-то там должен - то ты уже провалил, и дальше время будешь только тратить. Бросай это дело.

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

Иначе далеко не уйдешь.
Я начинал еще в лет так 12, дома, на полном уг компе, без интернета.. Вот это было время, вот это были бессонные ночи, но результат.. Ничто так не доставляет как свой личный труд. Так что, сиди и изучай, пробуй, экспериментируй, развивай в себе программиста, а не очередного школьника тратящего своё и чужое время ленивыми вопросами на форумах.
(Offline)
 
Ответить с цитированием
Эти 6 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
FREE MAN (17.11.2014), impersonalis (18.11.2014), Izunad (04.12.2014), L-ee-X (18.11.2014), Mr_F_ (16.11.2014), St_AnGer (17.11.2014)
Старый 18.11.2014, 13:20   #10
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Помогите подключить шейдер к xors3d

Сообщение от moka Посмотреть сообщение
Я начинал еще в лет так 12, дома, на полном уг компе, без интернета.. Вот это было время, вот это были бессонные ночи, но результат.. Ничто так не доставляет как свой личный труд. Так что, сиди и изучай, пробуй, экспериментируй, развивай в себе программиста, а не очередного школьника тратящего своё и чужое время ленивыми вопросами на форумах.
Всегда был и сторонником именно такого подхода. Так как основы постигал тоже в глубоком оффлайне.
Но современные тенденции же: нафиг оптимзацию, нафиг Only-code-style: ляпаем источники света, мышкой набрасываем объекты, и рисуем граф автомата логики. В итоге: обходим хардкодщиков по времени реализации и красоте результата. А под капот игрок не смотрит.
Быть может терь и с кодом так надо? Проганье методом брутфорса форумов.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо impersonalis за это полезное сообщение:
Izunad (04.12.2014), St_AnGer (18.11.2014)
Старый 18.11.2014, 14:27   #11
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Помогите подключить шейдер к xors3d

Сообщение от impersonalis Посмотреть сообщение
Но современные тенденции же: нафиг оптимзацию, нафиг Only-code-style: ляпаем источники света, мышкой набрасываем объекты, и рисуем граф автомата логики. В итоге: обходим хардкодщиков по времени реализации и красоте результата. А под капот игрок не смотрит.
Быть может терь и с кодом так надо? Проганье методом брутфорса форумов.
Мой опыт показывает что такие туулзы во первых балуют разраба, тем самым еще сильнее отбивает возможности что разраб будет трудиться как следует (избаловали же).
Во вторых - такого не бывает. Набросать тяп-ляп и готово, и чтобы было быстрее чем реальные кодеры, и результат был на коммерческом уровне - честно, покажите мне хоть один проект так сделанный.
В вебе это еще сильнее, менеджмент будет думать что можно просто взять Amazon Cloud и там серверов создать, не хватает мощности "просто увелич его". Ага.. Конечно.. По факту работа в облаке с серверами почти точно также как если у тебя радом стоит физический комп. И чтобы "просто увеличить его", нужно поставить рядом большой комп с покруче железом, поставить на него ОСь (ну тут да, облако ставит за тебя), но далее нужно все настроить как на оригинальном и все скопировать и запустить. И это работа.

Так и в геймдеве - хочешь шейдерами пользоваться? Научись их сперва читать. Это также как: "я хочу иметь оперировать мыслями из этой книги, но читать я ее не хочу".

Да и польза от таких пользователей кстати нулевая, если такой пользователь даже толком поставить вопрос не может - тратит чужое время. Он учиться не хочет, хочет результат, думает что другие ему обязаны. Ничего нового он не создаст. Следственно какая польза сообществу от такого юзверя? Никакой, только трата общего времени.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Izunad (04.12.2014)
Ответ


Опции темы

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

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


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


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