Сообщения на форуме пользователя Andrey (78 стр.)
ARB_fragment_program на NV30 - как управлять точностью? | 4 мая 2009 | 8:20 | #8 |
---|
XaeroX
>Без Cg Runtime это геморно
а в чем геморно?
>Не понял, что значит "на чистом GLSL"
наверное имеется ввиду
>аккуратно перевожу Cg-код на GLSL
он "грязный" по словам innuendo
>Без Cg Runtime это геморно
а в чем геморно?
>Не понял, что значит "на чистом GLSL"
наверное имеется ввиду
>аккуратно перевожу Cg-код на GLSL
он "грязный" по словам innuendo
D3DDECLUSAGE_BLENDWEIGHT и D3DDECLUSAGE_BLENDINDICES | 2 мая 2009 | 21:40 | #1 |
---|
>Для чего используются VertexDeclaration'ы D3DDECLUSAGE_BLENDWEIGHT и D3DDECLUSAGE_BLENDINDICES?
Для скелетной анимации.
D3DDECLUSAGE_BLENDWEIGHT - веса костей, (D3DDECLTYPE_FLOAT4 для точности можно еще что-то что меньше по памяти);
D3DDECLUSAGE_BLENDINDICES - индексы матриц для костей(D3DDECLTYPE_UBYTE4), обычно хватает 4 байт, т.е. на вершину максимум 4 кости этого хватает с верхом, где каждый байт это индекс из массива матриц. 255 - думаю это достаточное значение для числа костей.
Для скелетной анимации.
D3DDECLUSAGE_BLENDWEIGHT - веса костей, (D3DDECLTYPE_FLOAT4 для точности можно еще что-то что меньше по памяти);
D3DDECLUSAGE_BLENDINDICES - индексы матриц для костей(D3DDECLTYPE_UBYTE4), обычно хватает 4 байт, т.е. на вершину максимум 4 кости этого хватает с верхом, где каждый байт это индекс из массива матриц. 255 - думаю это достаточное значение для числа костей.
Трансформеры 2: Месть Падшего | 1 мая 2009 | 22:47 | #3 |
---|
Очень впечатляет!
Спецификация OpenGL 3 от сегодня! (+инфа в посте №1) | 1 мая 2009 | 19:48 | #1029 |
---|
SNVampyre
>Нужна длл которая линкует адреса функций, иначе просто каменный век какой-то.
http://glew.sourceforge.net/
это не то к примеру?
>Нужна длл которая линкует адреса функций, иначе просто каменный век какой-то.
http://glew.sourceforge.net/
это не то к примеру?
Спецификация OpenGL 3 от сегодня! (+инфа в посте №1) | 1 мая 2009 | 19:46 | #1028 |
---|
Интересно, нужно покапать новый заголовок. может заодно попробую удвлить весь устаревший хлам...
Написание рендера. | 1 мая 2009 | 19:44 | #118 |
---|
Phoenics
Тспользуй тег "code = cpp" а не просто "code"
>IMesh itsMesh;
Возможно не обязательно тут должен быть мешь. Может более абстрактно сделать? Некая Geometry Data где храниться декларация, данные о индексном вершинном буфере, стартовые вершины, тип примитивов(у тебя топология) и т.д. К примеру система частиц не содержит мешь. К примеру все меши одинакового формата можно скопировать в единый вершинный буфер. Тоже самое можно сделать с индексным. Получается, что меши по сути не нужны самому рендеру.
Тспользуй тег "code = cpp" а не просто "code"
>IMesh itsMesh;
Возможно не обязательно тут должен быть мешь. Может более абстрактно сделать? Некая Geometry Data где храниться декларация, данные о индексном вершинном буфере, стартовые вершины, тип примитивов(у тебя топология) и т.д. К примеру система частиц не содержит мешь. К примеру все меши одинакового формата можно скопировать в единый вершинный буфер. Тоже самое можно сделать с индексным. Получается, что меши по сути не нужны самому рендеру.
Гипер-ускорение от nVidia ? | 29 апр. 2009 | 1:22 | #50 |
---|
Executor
>Что там конкретно драйвер делает я незнаю, но вот например что делается в MESA:
плохо дело, могут быть частые коллизии для hash функции и будет гоняться цикл поиска и делать лаги...
>Что там конкретно драйвер делает я незнаю, но вот например что делается в MESA:
void * _mesa_HashLookup(const struct _mesa_HashTable *table, GLuint key) { ... while (entry) { if (entry->Key == key) { return entry->Data; } entry = entry->Next; } ... }
Написание рендера. | 27 апр. 2009 | 8:54 | #97 |
---|
Executor
>Благо такого гемора в ОГЛ никогда не было,
только не начинай холивар :)))
>В ДХ10 я так понимаю всего этого тоже нет?
нету. Это совершенное АПИ по сравнению с OpenGL 2.0 и Direct3D 9.
>Благо такого гемора в ОГЛ никогда не было,
только не начинай холивар :)))
>В ДХ10 я так понимаю всего этого тоже нет?
нету. Это совершенное АПИ по сравнению с OpenGL 2.0 и Direct3D 9.
Написание рендера. | 27 апр. 2009 | 0:41 | #89 |
---|
Subject
>а что тогда находится в самом классе текстуры
ну само собой представление текстуры для Graphics API IDirect3DTexture9(Direct3D9) ID3D10ShaderResourceView(Direct3D10) или
GLuint(OpenGL)
>а что тогда находится в самом классе текстуры
ну само собой представление текстуры для Graphics API IDirect3DTexture9(Direct3D9) ID3D10ShaderResourceView(Direct3D10) или
GLuint(OpenGL)
ID3D10Texture2D::GetDesc - левые данные | 26 апр. 2009 | 17:47 | #2 |
---|
Scaiman
pTexture - точно ID3D10Texture2D * ?
а Direct3D10 Run Time в Debug Output ничего плохого не пишет?
pTexture - точно ID3D10Texture2D * ?
а Direct3D10 Run Time в Debug Output ничего плохого не пишет?
У Nikopol день день рожденья. ПОЗДРАВЛЯЕМ! | 26 апр. 2009 | 15:45 | #11 |
---|
Nikopol
С днюхой! успехов в карьере и в жизни!
С днюхой! успехов в карьере и в жизни!
Написание рендера. | 26 апр. 2009 | 14:21 | #75 |
---|
Subject
ну если у тебя буфер обернут в свой класс то явно нужно хранить его размер формат и т.д. к примеру в базовом классе.
ну и зная эти данные можно заново создать IDirect3DVertexBuffer9/IDirect3DIndexBuffer9 и изменить указатель внутри обертки.
тут уж сам подумай как лучше для тебя.
ну если у тебя буфер обернут в свой класс то явно нужно хранить его размер формат и т.д. к примеру в базовом классе.
ну и зная эти данные можно заново создать IDirect3DVertexBuffer9/IDirect3DIndexBuffer9 и изменить указатель внутри обертки.
тут уж сам подумай как лучше для тебя.
Написание рендера. | 26 апр. 2009 | 13:57 | #73 |
---|
Subject
>Остался вопрос : что конкретно (по операциям) нужно сделать в данном методе.
удалить(Release) и пересоздать все буферы и текстуры если они в D3DPOOL_DEFAULT
удалить(Release) пересоздать текстуры с D3DUSAGE_RENDERTARGET
>Остался вопрос : что конкретно (по операциям) нужно сделать в данном методе.
удалить(Release) и пересоздать все буферы и текстуры если они в D3DPOOL_DEFAULT
удалить(Release) пересоздать текстуры с D3DUSAGE_RENDERTARGET
Написание рендера. | 26 апр. 2009 | 11:12 | #68 |
---|
Subject
VertexBufferPtr - это некий умный указатель?
далее
если тут есть удобный доступ к Direct3D Device то наверное удобно.
в renderOp наверное лучше хранить данные о вершинах и индексах. Возможно есть 1 вершинный и индексный буфер для группы объектов, к примеру для 1 формата.
шейдеры все таки понятия материала.
VertexBufferPtr - это некий умный указатель?
далее
vbuffers->onLostDevice();
в renderOp наверное лучше хранить данные о вершинах и индексах. Возможно есть 1 вершинный и индексный буфер для группы объектов, к примеру для 1 формата.
шейдеры все таки понятия материала.