GameDev.ru
/ GameDev.ru / Пользователи / Andrey / Сообщения на форуме пользователя Andrey (67 стр.)

Сообщения на форуме пользователя Andrey (67 стр.)

Передача данных от вершинного шейдера в пиксельный6 окт. 200911:37#28
innuendo
> > float Depth: TEXCOORD0;
>
> Ага. Это не устаревший функционал? :)
для Direct3D нет.
нет времени пробовать.
Передача данных от вершинного шейдера в пиксельный6 окт. 200911:34#26
innuendo
эх не туда глянул.
struct vs_output {
   float4 Pos: POSITION;
   float Depth: TEXCOORD0;
};

vs_output vsMain(float4 Pos: POSITION)
{
  vs_output Out;
  Out.Pos = mul(Pos, worldViewProjMatrix);    
  Out.Depth = Out.Pos.z;
  return Out;
}

float4 psMain(in vs_output In) : COLOR
{
  return float4(0.16f / 2000 + In.Depth / 2000.0f, 0.0f, 0.0f, 0.0f);
}
Передача данных от вершинного шейдера в пиксельный6 окт. 200911:13#23
innuendo
> кстати, а какой код ( передача в PS ) выдаёт Cg профиля glsl ?
>
>
> через gl_TexCoords ?
Нет конечно. Cg спроектирован грамотно. Без устаревшей функциональности.
// glslf output by Cg compiler
// cgc version 2.2.0006, build date Mar 31 2009
// command line args: -q -profile glslf -entry psMain -fastprecision -fastmath -O3 -d3d ATI_draw_buffers
//vendor NVIDIA Corporation
//version 2.2.0.6
//profile glslf
//program psMain
//semantic worldViewProjMatrix : C0
//semantic time_0_X : C4
//semantic objectPos : C5
//semantic zNear
//semantic zFar
//semantic tex : TEXUNIT0
//var float4x4 worldViewProjMatrix : C0 : , 4 : -1 : 0
//var float time_0_X : C4 :  : -1 : 0
//var float4 objectPos : C5 :  : -1 : 0
//var float zNear :  :  : -1 : 0
//var float zFar :  :  : -1 : 0
//var sampler2D tex : TEXUNIT0 :  0 : -1 : 0
//var float In.Depth : $vin.TEXCOORD0 : TEXCOORD0 : 0 : 1
//var float4 psMain : $vout.COLOR : COLOR : -1 : 1
//default zNear = 0.16
//default zFar = 2000

struct VS_OUTPUT {
    vec2 _texcoord;
    float _Depth1;
};

struct vs_output {
    float _Depth;
};

vec4 _ret_0;

 // main procedure, the original name was psMain
void main()
{


    _ret_0 = vec4(7.99999980E-005 + gl_TexCoord[0].x/2.00000000E+003, 0.00000000E+000, 0.00000000E+000, 0.00000000E+000);
    gl_FragColor = _ret_0;
    return;
} // main end
Передача данных от вершинного шейдера в пиксельный6 окт. 20099:11#17
Neptune
скинь шейдер попробую скомпилить/поправить. может что выйдет
vector<float> + вставка структуры5 окт. 200910:12#6
Ivan Mironov
> в памяти могут располагаться неодинаково. Из-за выравнивания.
да, ты прав. Нарвался на такое однажды
тогда так:
#pragma pack(push, 1)
struct Struct { float x, y, z; };
struct Struct  { float x, y, z, u, v; };
struct Struct  { float x, y, z, u, v, nx, ny, nz; };
struct Struct  { float x, y, z, u, v, nx, ny, nz, bx, by, bz; }; 
#pragma pack(pop)

Struct  st;
//...
enum {
SizeOfStruct = sizeof(struct) / sizeof(float)
};
size_t size = vect.size(); // old size
vect.resize(SizeOfStruct + size);
memcpy(&vect[size], &st, sizeof(float) * SizeOfStruct);
vector<float> + вставка структуры5 окт. 200910:00#3
Ivan Mironov
>За такой код следует убивать медленно и мучительно =)
аргументы?
vector<float> + вставка структуры5 окт. 20099:42#1
SNVampyre
enum {
SizeOfStruct = sizeof(struct) / sizeof(float)
};
size_t size = vect.size(); // old size
vect.resize(SizeOfStruct + size);
memcpy(&vect[size], &struct, sizeof(float) * SizeOfStruct);
Обсуждение и сравнение VC++6 - VC++20085 окт. 20099:27#70
Phoenics
> Слышал что его и не исправят, так как этим хотят так сказать потталкивать людей
> к переходу на C# :)
да уж... А ссылка на официальную информацию есть???
.Scotina
> Выяснилось, в частности, что новая студия хочет чтобы я писал std::ifstream
> вместо ifstream, и похоже она не знает что такое short int.
ну да к тормозные потоки ввода-вывода входят в простпространство имен std
simple engine: test demo ( тестинг ) ( upd: 27 sept 2009 )2 окт. 20099:21#45
mocia
на конец я потестил демку. Все очень круто. Машина по воде ездит правда. Физика тормозит. всего 8 FPS,  nVidia 7600 GS. Пост процесс включен. Без него 10-11. Antialiasing выключен.
Луч из камеры30 сен. 200910:30#4
Igor'
переведи X,Y в координаты сцены тогда

org = Vector3D(X, Y ,Z cam_pos);


Ray = org + t * cam_dir;

Удаляю VBO - лезут ошибки29 сен. 200918:35#24
haper
втыкай _heapchk и как сказал Мух _CrtIsValidPointer

Volatile3D II Engine (скрины, как это выглядело бы на RivaTNT!)29 сен. 200917:17#28
XaeroX
Ух ты круто!!
Где демка?
Скелетная анимация своя(при сохранениии из SMD)?расскажи про нее подробней.
Сколько полигонов  в кадре?
какой у тебя формат текстур(после конвертации из TGA)?
DXT сжатие есть?
Удаляю VBO - лезут ошибки29 сен. 200915:51#8
haper
что возвращает IsBufferARB(VBO[x]) и IsBufferARB(IBO[x]) проверял?
ты не рисуешь случайно через удаленный VBO ?
Почему каркас OpenGL SDL linux не работает?29 сен. 200910:04#3
~no~
ну тогда вызывай glGetError и смотри что происходит.
Почему каркас OpenGL SDL linux не работает?28 сен. 200918:49#1
~no~
попробуй поменяй местами вызовы create_window() и preset_opengl(). У тебя OpenGL нет инициализации и ты пытаешься вызывать SDL_GL_ функции

Следующие темы >>

2001—2012 © GameDev.ru — Разработка игр