Войти
ФлеймФорумПрограммирование

Почему некоторые программисты выбирают Direct3D? (22 стр)

Страницы: 121 22 23 24 25 Следующая »
#315
12:50, 27 апр. 2011

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
>Случаем лэйаут не нужно задавать?
ну вроде это можно опустить.

#316
12:53, 27 апр. 2011

Andrey
> C:\Program Files\NVIDIA Corporation\Cg\bin>cgc.exe test.glsl -oglsl -profile
> glslv >1.txt

я не понял, ты что этим хочешь сделать ?

#317
13:50, 27 апр. 2011

Andrey
> test.glsl(9) : error C5058: no buffers available for bindable uniform

Чот я не понял, а причём тут bindable uniform? Это не UBO.

#318
14:01, 27 апр. 2011

Andrey
Сделай просто layout packed, а внутри vec4 data[2048];

#319
14:28, 27 апр. 2011

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 что еще не понятно?
#320
14:32, 27 апр. 2011

Andrey
> ну там уже не важно что внутри блока
Для пакед важно. Должно быть выровнено.
Делай массив и не выпеднривайся.

#321
14:39, 27 апр. 2011

Andrey
> ну это Cg компилятор пишет. Значит он не понимает UBO.

Cg наверное понимает только 1.20 ГЛСЛ, не?

#322
14:41, 27 апр. 2011

Andrey
> > я не понял, ты что этим хочешь сделать ?
> хочу скомпилить код GLSL c UBO компилятором Cg что еще не понятно?

зачем тебе компилить код GLSL компилятором Cg ?
GLSL код компилишь в GLSL код ?

что тут понятного ?

#323
14:59, 27 апр. 2011

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 воткнуть.
#324
15:01, 27 апр. 2011

Andrey
> нету видеокарты с OpenGL 3.0 и выше.
Ну шейдер вроде правильный, только убери строку с #extension.

#325
15:13, 27 апр. 2011

Andrey
> > зачем тебе компилить код GLSL компилятором Cg ?
> очевидно же что-бы иметь 1 шейдерный код по несколько рендеров.

имея один Cg код можно иметь один шейдерный  несколько рендеров, а имея GLSL ты имешь GLSL, хотя скорее всего это он тебя имеет :)


попробуй скомпилить примеры с тесселяцией Cg3.0  под GLSL или как там ты хочешь

#326
15:17, 27 апр. 2011

SNVampyre
> Ну шейдер вроде правильный, только убери строку с #extension.
пост 314,315

#327
17:19, 27 апр. 2011

http://msdn.microsoft.com/en-us/library/bb509647(v=VS.85).aspx#System_Value
Я вот всё никак не могу понять, зачем вообще ввели эти семантики? Как в D3D без этого убожества задать нормальные аттрибуты вершины?

#328
17:38, 27 апр. 2011

SNVampyre

чтобы вампира кошмары мучали по начам :)

#329
19:55, 27 апр. 2011

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

Страницы: 121 22 23 24 25 Следующая »
ФлеймФорумПрограммирование