|
Xors3D Графический движок с поддержкой DirectX9 |
11.12.2011, 17:42
|
#91
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Вопросы про Xors3D
DeltaYaw же
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
15.12.2011, 22:13
|
#92
|
Знающий
Регистрация: 29.11.2010
Сообщений: 244
Написано 31 полезных сообщений (для 49 пользователей)
|
Ответ: Вопросы про Xors3D
Спасибо!)
А как игру на паузу поставить? Остановить симуляцию физики и т п, хотя Я приблезительно представляю себе как это реализовать но все же скажите как Вы это делаете)
И еще (наверн самый даунский Мой вопрос): как пользоваться дельта-таймом?)))
__________________
Intel Core i3-4005U (1.7 ГГц), 4 ГБ ОЗУ, nVidia GeForce 940M 4 ГБ, Win8.1
|
(Offline)
|
|
15.12.2011, 23:04
|
#93
|
Дэвелопер
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений (для 774 пользователей)
|
Ответ: Вопросы про Xors3D
делаешь внутренний цикл :
While pause=true
...обновляем только паузу
Wend
|
(Offline)
|
|
30.12.2011, 13:57
|
#94
|
Знающий
Регистрация: 29.11.2010
Сообщений: 244
Написано 31 полезных сообщений (для 49 пользователей)
|
Ответ: Вопросы про Xors3D
Спасибо, а как на счет дельты?)
__________________
Intel Core i3-4005U (1.7 ГГц), 4 ГБ ОЗУ, nVidia GeForce 940M 4 ГБ, Win8.1
|
(Offline)
|
|
12.01.2012, 21:47
|
#95
|
ПроЭктировщик
Регистрация: 16.04.2008
Сообщений: 161
Написано 36 полезных сообщений (для 63 пользователей)
|
Ответ: Вопросы про Xors3D
Всем добрый вечер.
Сел изучать шейдеры в RenderMonkey
float4x4 matViewProjection : ViewProjection;
struct VS_INPUT
{
float4 Position : POSITION0;
float2 Txr1: TEXCOORD0;
};
struct VS_OUTPUT
{
float4 Position : POSITION0;
float2 Txr1: TEXCOORD0;
};
VS_OUTPUT Effect_Group_1_myeffect_Pass_0_Vertex_Shader_vs_main( VS_INPUT Input )
{
VS_OUTPUT Output;
Output.Position = mul( Input.Position, matViewProjection );
Output.Txr1=Input.Txr1;
return( Output );
}
tex2D(Texture0,inTxr1);
float4 Effect_Group_1_myeffect_Pass_0_Pixel_Shader_ps_main( float4 inDiffuse: COLOR0,
float2 inTxr1: TEXCOORD0
) : COLOR0
{
return tex2D(Texture0,inTxr1);
}
//--------------------------------------------------------------//
// Technique
//--------------------------------------------------------------//
technique myeffect
{
pass Pass_0
{
VertexShader = compile vs_2_0 Effect_Group_1_myeffect_Pass_0_Vertex_Shader_vs_main();
PixelShader = compile ps_2_0 Effect_Group_1_myeffect_Pass_0_Pixel_Shader_ps_main();
}
}
и пытаюсь подключить к хорс+блиц..
sh_fx=xLoadFXFile("myeffect.fx")
после этого все зависает т.е даже не возвращает в sh_fx
что не так подскажите
__________________
форум эт вещь... и почему я раньше им не пользовался?
AMD Phenom(tm) II X6 3.20GHz 8GB GTX 550(1Gb)
|
(Offline)
|
|
13.01.2012, 00:01
|
#96
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Вопросы про Xors3D
А Логи ксорса ничего не говорят?
Да и замени ViewProjection, на MATRIX_WORLDVIEWPROJ.
|
(Offline)
|
|
13.01.2012, 00:46
|
#97
|
ПроЭктировщик
Регистрация: 16.04.2008
Сообщений: 161
Написано 36 полезных сообщений (для 63 пользователей)
|
Ответ: Вопросы про Xors3D
логи , что то ничего не говорят
0:00:00:00.004 Physical screen size: 338mm x 270mm. Aspect ratio: 1.25185 (5:4).
0:00:00:00.014 X8R8B8B8 backbuffer format.
0:00:00:00.014 No antialiasing.
0:00:00:00.025 640x480x32 windowed graphics mode
0:00:00:00.025 Setting new aspect ratio: 1.33333
New virtual viewport is 640 x 480
0:00:00:00.045 No game controllers found.
0:00:00:00.143 Squall loaded successfully.
0:00:00:00.144 xPhysics is loaded.
0:00:00:00.145 Default world created ( 0703FD60 )
0:00:00:00.150 New font 'Tahoma' (size: 10) loaded in 4.369 ms.
0:00:00:00.150 New camera (handle: 070750F8) is created in 0.118 ms.
0:00:00:00.151 New sphere (handle: 07076F70) is created in 0.782 ms.
0:00:00:00.154 New texture (handle: 07070D48) is loaded from file 'tex.bmp' in 2.7 ms.
собственно после создания текстуры должна выполнятся xLoadFXFile
может я что то не так делаю, или чего то не понимаю ?
Пс приложение зависает полностью
__________________
форум эт вещь... и почему я раньше им не пользовался?
AMD Phenom(tm) II X6 3.20GHz 8GB GTX 550(1Gb)
|
(Offline)
|
|
13.01.2012, 01:03
|
#98
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Вопросы про Xors3D
Код давай, и ехе.
|
(Offline)
|
|
13.01.2012, 01:18
|
#99
|
ПроЭктировщик
Регистрация: 16.04.2008
Сообщений: 161
Написано 36 полезных сообщений (для 63 пользователей)
|
Ответ: Вопросы про Xors3D
все в архиве
и вопрос
ViewProjection
MATRIX_WORLDVIEWPROJ -что это есть ? и почему надобно его а не ViewProjection
по любому мой косяк
__________________
форум эт вещь... и почему я раньше им не пользовался?
AMD Phenom(tm) II X6 3.20GHz 8GB GTX 550(1Gb)
|
(Offline)
|
|
13.01.2012, 01:36
|
#100
|
Мастер
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений (для 1,836 пользователей)
|
Ответ: Вопросы про Xors3D
Кстати у меня получались иногда шейдеры вещающие приложение при отсутствии каких-либо ошибок в логах. Лечилось это переписыванием шейдера с нуля.
VS_OUTPUT Effect_Group_1_myeffect_Pass_0_Vertex_Shader_vs_ma in( VS_INPUT Input )
{
VS_OUTPUT Output;
Output.Position = mul( Input.Position, matViewProjection );
Output.Txr1=Input.Txr1;
return( Output );
}
tex2D(Texture0,inTxr1);
//че это значит?
float4 Effect_Group_1_myeffect_Pass_0_Pixel_Shader_ps_mai n( float4 inDiffuse: COLOR0,
float2 inTxr1: TEXCOORD0
) : COLOR0
{
return tex2D(Texture0,inTxr1);
}
|
Сотри это и тыкай пальцем лучше стандартный шейдер из шагов
float4x4 matrixWorldViewProj : MATRIX_WORLDVIEWPROJ; // матрица итоговая
float4x4 matrixWorld : MATRIX_WORLD; // матрица мировая
float3 lightDirection : LIGHT0_DIRECTION; // направление
float4 lightColor : LIGHT0_COLOR; // цвет
float4 entityColor : COLOR_DIFFUSE; // цвет объекта
texture diffuseTexture : TEXTURE_0; // текстура
// описываем sampler
sampler diffuseSampler = sampler_state
{
Texture = <diffuseTexture>; // привязываем текстуру
// устанавливаем адресацию координат
AddressU = WRAP;
AddressV = WRAP;
AddressW = WRAP;
// устанавливаем фильтрацию
MinFilter = ANISOTROPIC;
MagFilter = ANISOTROPIC;
MipFilter = ANISOTROPIC;
// устанавливаем уровень фильтрации
MaxAnisotropy = 4;
};
// входная структура для вершинного шейдера
struct VSInput
{
float4 position : POSITION;
float3 normal : NORMAL;
float2 texCoords : TEXCOORD0;
};
// структура для результата вершинного шейдера
struct VSOutput
{
float4 position : POSITION;
float3 normal : TEXCOORD1;
float2 texCoords : TEXCOORD0;
};
// вершинный шейдер
VSOutput VSMain(VSInput input)
{
// объект для выходных данных
VSOutput output;
// трансформируем позицию вершины
output.position = mul(input.position, matrixWorldViewProj);
// трансформируем и нормализуем нормаль
output.normal = normalize(mul(input.normal, matrixWorld));
// переписываем текстурные координаты
output.texCoords = input.texCoords;
// возвращаем результат
return output;
}
// пиксельный шейдер
float4 PSMain(VSOutput input) : COLOR0
{
// делаем выборку из текстуры
float4 diffuse = tex2D(diffuseSampler, input.texCoords);
// расчитываем освещенность точки
float lit = dot(input.normal, -lightDirection);
// возвращаем результирующий цвет пиксела
return diffuse * entityColor * lit * lightColor;
}
// техника для отрисовки
technique Diffuse
{
pass p0
{
VertexShader = compile vs_2_0 VSMain();
PixelShader = compile ps_2_0 PSMain();
}
}
И не выучишь ты ХЛСЛ не выучив основы си или даже спп. На своем опыте говорю
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
13.01.2012, 01:40
|
#101
|
Мастер
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений (для 1,836 пользователей)
|
Ответ: Вопросы про Xors3D
Сообщение от Spy4433
все в архиве
и вопрос
ViewProjection
MATRIX_WORLDVIEWPROJ -что это есть ? и почему надобно его а не ViewProjection
по любому мой косяк
|
Насколько я понимаю это семантики.
Они нужны для того чтобы хорс понял что нужно записать в эту переменную. Ну что бы ручками из хорса меньше всяких xSetFXFloat передавать.
float4 Effect_Group_1_myeffect_Pass_0_Pixel_Shader_ps_mai n( float4 inDiffuse: COLOR0,
float2 inTxr1: TEXCOORD0//тут по идее должен вывод вершинного шейдера быть.
) : COLOR0
{
return tex2D(Texture0,inTxr1);
}
Ну и текстура у тебя не объявлена никак.
Если поменять твой чудо шейдер на не косячный из шагов то приложение работает. Компилятор шейдеров наверно просто охренел от твоего эпического творчества.
|
(Offline)
|
|
26.01.2012, 14:05
|
#102
|
Знающий
Регистрация: 29.11.2010
Сообщений: 244
Написано 31 полезных сообщений (для 49 пользователей)
|
Ответ: Вопросы про Xors3D
Привет Всем!)
Расскажите Мне Пожалуйста о дельта-тайме и о его использовании
В гугле не получилось найти что-то внятное и конкретное
__________________
Intel Core i3-4005U (1.7 ГГц), 4 ГБ ОЗУ, nVidia GeForce 940M 4 ГБ, Win8.1
Последний раз редактировалось ANIK123, 26.01.2012 в 21:49.
|
(Offline)
|
|
15.02.2012, 19:14
|
#103
|
Оператор ЭВМ
Регистрация: 16.01.2012
Сообщений: 30
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Вопросы про Xors3D
сделал машинку. В качестве колёс использую части самой модели.
For l = 0 To 5
wheel.wheel = New wheel
If l=5 Then wheel\entity = xFindChild(tank\model, "wheel5")
If l=3 Then wheel\entity = xFindChild(tank\model, "wheel3")
If l=1 Then wheel\entity = xFindChild(tank\model, "wheel1")
If l=4 Then wheel\entity = xFindChild(tank\model, "wheel4")
If l=2 Then wheel\entity = xFindChild(tank\model, "wheel2")
If l=0 Then wheel\entity = xFindChild(tank\model, "wheel0")
xEntityParent wheel\entity, tank\model;, False
xEntityTexture wheel\entity, wheelT
wheel\max_Rotation = 15000
xEntityAddWheel(tank\model, wheel\entity)
xEntityWheelSetConnectionPoint(tank\model, l, xEntityX(wheel\entity), xEntityY(wheel\entity), xEntityZ(wheel\entity))
xEntityWheelSetAxle(tank\model, l,-1.0, 0.0, 0.0)
xEntityWheelSetRadius(tank\model, l, 1.0)
xEntityWheelSetMaxSuspensionForce(tank\model, l, wheel\max_Rotation)
xEntityWheelSetSuspensionLength(tank\model, l, 1.5)
xEntityWheelSetSuspensionStiffness(tank\model, l, 3.8)
xEntityWheelSetSuspensionDamping(tank\model, l,2.22)
xEntityWheelSetSuspensionCompression(tank\model,l, 0.3)
xEntityWheelSetFriction(tank\model, l, 300)
xEntityWheelSetRollInfluence(tank\model, l, 0.18);
;xEntityAddsphereShape(wheel\entity,0, 0.1)
Next
Происходит смещение колёс по координатам, т.е. немного вниз и вправо. С чем это может быть связано?
|
(Offline)
|
|
15.02.2012, 20:26
|
#104
|
Мастер
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений (для 1,836 пользователей)
|
Ответ: Вопросы про Xors3D
xEntityWheelSetRay(body,0,xr,yr,zr);
Ты направление по которому колесо смещается не выставил.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
15.02.2012, 21:22
|
#105
|
Оператор ЭВМ
Регистрация: 16.01.2012
Сообщений: 30
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Вопросы про Xors3D
Сообщение от dsd
xEntityWheelSetRay(body,0,xr,yr,zr);
Ты направление по которому колесо смещается не выставил.
|
ставил все нули - колёса улетали вообще... другие значения не улучшили ситуации... наверно, я не понимаю, как правильно прописывать тут?
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 06:01.
|