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

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

OpenGL инициализация18 мая 201110:20#1
Styler
> 1) смотрел дизассемблером код.
интересно, где именно смотрел и можешь его запостить? Если уж залез на такой уровень можешь глянуть украденные исходники Windows 2000, может поможет чем.
Skinned Mesh Обнавление AABB16 мая 201117:40#9
Igor'
> тоесть мы заранее ничего об анимации не знаем
Как так не знаем? Есть набор костей есть набор фреймов с данными трансформации, есть данные о вершинах и весах. Все это берется из твоих отдельных файлов Skeleton'а, Модели, Анимации,  может сделать препроцессинг модели и записать отдельно трансформированные AABB имея эти данные?
Skinned Mesh Обнавление AABB16 мая 201117:26#7
Igor'
А Если при экспорте можно рассчитать AABB для кадра анимации, далее будет интерполяция его Min, Max точек? Или у тебя уже все про экспортировано и ты хочешь прикрутить обновлении AABB?
Нужно тестирование. CHC++12 мая 201112:05#17
0xdeadc0de
Geforce 6600 gt, Pentium D 3.4 Ггц, RAM 2Гб, XP 32bit
Всё в 1024x768
OGL: 175-185 FPS CPU stall max 8, без CHH не работает(мигает серый фон и т.д.)
D3D: 200-213 FPS CPU stall max 8, без CHH 160-180 FPS.
Кнопочка Топ Разработка игр. (комментарии)11 мая 201119:23#30
slava_mib
> Я добавил на один из своих сайтов.
а что это дает тебе и ресурсу gamedev.ru ?
wat
А какие ссылки туда вообще туда можно добавлять? Все что будет полезно посетителям ресурса gamedev.ru ?
Тормозит glutSwapBuffers в Windows 7/Vista из за текста...28 апр. 201117:20#62
Neponimayushiy
может отключишь вертикальную синхронизацию? вынеси из цикла вычисления длины строки.
Почему некоторые программисты выбирают Direct3D?27 апр. 201115:17#326
SNVampyre
> Ну шейдер вроде правильный, только убери строку с #extension.
пост 314,315

Почему некоторые программисты выбирают Direct3D?27 апр. 201114:59#323
Executor
> Cg наверное понимает только 1.20 ГЛСЛ, не?
1.5 точно понимает. Я ставил и 410 он возвращал результат и писал #version 410.
SNVampyre
>Для пакед важно. Должно быть выровнено.
>Делай массив и не выпеднривайся.
я же сказал что не важно ибо ошибка все та-же, нет-же по выпендриваться нужно.
делаю так:
#version 410 core

#extension GL_ARB_uniform_buffer_object : enable

in  vec3  pos;

layout (packed) uniform Constants {
  vec4 data[2048];
};

void main(void) {
  gl_Position = data[4];
}
cgc.exe test.glsl -oglsl -profile glslv -profileopts version=410
test.glsl(4) : warning C7547: extension GL_ARB_uniform_buffer_object not supported in profile glslv
test.glsl(9) : error C5058: no buffers available for bindable uniform
innuendo
> зачем тебе компилить код GLSL компилятором Cg ?
очевидно же что-бы иметь 1 шейдерный код по несколько рендеров.
> GLSL код компилишь в GLSL код ?
да, ибо нету видеокарты с OpenGL 3.0 и выше. а Cg удобно скомпилить и глянуть ошибки, причем хочу UBO воткнуть.
Почему некоторые программисты выбирают Direct3D?27 апр. 201114:28#319
Executor
> Чот я не понял, а причём тут bindable uniform? Это не UBO.
ну это Cg компилятор пишет. Значит он не понимает UBO.
SNVampyre
>Сделай просто layout packed, а внутри vec4 data[2048];
ну там уже не важно что внутри блока
#version 410 core

#extension GL_ARB_uniform_buffer_object : enable

in  vec3  pos;

layout (packed) uniform Constants { // тут и std140 пробовал.
  float yHeight;
  mat4 ModelViewProjectionMatrix;
};

void main(void) {
  vec3 vertex = pos.xyz + yHeight;
  gl_Position = ModelViewProjectionMatrix * vec4(vertex, 1.0);
}
cgc.exe test.glsl -oglsl -profile glslv -profileopts version=410
test.glsl(4) : warning C7547: extension GL_ARB_uniform_buffer_object not supported in profile glslv
test.glsl(10) : error C5058: no buffers available for bindable uniform
innuendo
> я не понял, ты что этим хочешь сделать ?
хочу скомпилить код GLSL c UBO компилятором Cg что еще не понятно?
Почему некоторые программисты выбирают Direct3D?27 апр. 201112:50#315
Executor
Зачем?
Убери расширение, у тебя же ядро.
#version 410 core

//#extension GL_ARB_uniform_buffer_object : enable

in  vec3  pos;
uniform Constants {
  float yHeight;
  mat4 ModelViewProjectionMatrix;
};

void main(void) {
  vec3 vertex = pos.xyz + yHeight;
  gl_Position = ModelViewProjectionMatrix * vec4(vertex, 1.0);
}
C:\Program Files\NVIDIA Corporation\Cg\bin>cgc.exe test.glsl -oglsl -profile glslv >1.txt
test.glsl(9) : error C5058: no buffers available for bindable uniform
>Случаем лэйаут не нужно задавать?
ну вроде это можно опустить.
Как вызвать функцию по адресу 0x004110cd в C++?27 апр. 201112:10#15
cpucooler
Классная тема. Пошел тестить!
Кстати, выделять память для иструкций можно и на стеке.
Почему некоторые программисты выбирают Direct3D?27 апр. 201111:44#312
innuendo
это код по идее который должен компилится Cg 3.0.
придется самому в выданный GLSL подставлять uniform блоки и отдавать нативно на комиляцию
Почему некоторые программисты выбирают Direct3D?27 апр. 201111:18#310
innuendo
> кстати, про разницу - как там обстоит дело с последними фишками Cg3.0 ?
Вот что-то он отказывается компилить шейдера с UBO
вот пример
#version 410 core

#extension GL_ARB_uniform_buffer_object : enable

in  vec3  pos;
uniform Constants {
  float yHeight;
  mat4 ModelViewProjectionMatrix;
};

void main(void) {
  vec3 vertex = pos.xyz + yHeight;
  gl_Position = ModelViewProjectionMatrix * vec4(vertex, 1.0);
}
cgc.exe test.glsl -oglsl -profile glslv -profileopts version=410 >1.txt
test.glsl(4) : warning C7547: extension GL_ARB_uniform_buffer_object not supported in profile glslv
test.glsl(9) : error C5058: no buffers available for bindable uniform
Почему некоторые программисты выбирают Direct3D?26 апр. 201117:07#280
innuendo
> ты хотя бы раз написал GLSL шейдер сам ?
конечно писал, даже в коммерческом проекте, ты чего прикопался именно к этому? или типа писать именно на GLSL верх мастерства для графического прогера?? И зачем их писать именно на GLSL если есть Cg ? Из него получаю номаный код GLSL, вот думаю на досуге прикрутить GL_ARB_uniform_buffer_object
Почему некоторые программисты выбирают Direct3D?26 апр. 201115:03#260
Кстати рисовать со смещением в вершинном буфере(IDirect3DDevice9::DrawIndexedPrimitive(..., offset,...) можно было еще со времен 2002 года когда появилась первая версия Direct3D, в OpenGL только с версии 3.0 появилось расширение GL_ARB_draw_elements_base_vertex.
Берем кучу объектов и получаем кучу вызовов glVertexPointer/glTexCooderPointer/glNormalPointer и т.д. и причем это на картах типа nVidia 7900 GT, ATI X1900 XT
ну скажем не совсем устаревшие карты.
GLSL убог. Передача констант пачками только через дополнительные расширения, причем нужно править код шейдера, линковка программ в одну -  неудобна.
На PS3 я так понимаю там GL_NV_vertex_program3/GL_NV_fragment_program2.
Итого, GLSL на PC поддерживается плохо, на IOS он тормозит, как и вс еостальные вызовы OGLES, на PS3 его нету.
Щас налетят фонаты OpenGL...
kas
> на iOS с имплементаций ogles полный швах. такие оверхеды от апи вызовов дх9 даже не снились
Опа... интересно...

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

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