Сообщения на форуме пользователя Andrey (86 стр.)
Преобразование из системы координат 3ds max в directx | 1 фев. 2009 | 12:08 | #5 |
---|
vip_open
тебе обязательно нужна матрица Matrix3 ? могу дать код который преобразует готовую матрицу для Direct3D. Хотя она-же и работает в OpenGL, потому что скелетная анимация на шейдерах.
тебе обязательно нужна матрица Matrix3 ? могу дать код который преобразует готовую матрицу для Direct3D. Хотя она-же и работает в OpenGL, потому что скелетная анимация на шейдерах.
AMD/ATI зарелизили драйверы с поддержкой OpenGL 3.0 | 31 янв. 2009 | 12:59 | #20 |
---|
Booster
а у меня все хорошо на ATI 9600 и X1300.
а у меня все хорошо на ATI 9600 и X1300.
nVidia зарелизила OpenGL 3.0 драйверы | 30 янв. 2009 | 1:57 | #202 |
---|
NULL_PTR
>Ну GL3.0 начиная с HD2400
я так и подумал. Зачем тогда функция доступна? просто с другими расширениями было так если не поддерживается то NULL указатель. Странно как-то
>Ну GL3.0 начиная с HD2400
я так и подумал. Зачем тогда функция доступна? просто с другими расширениями было так если не поддерживается то NULL указатель. Странно как-то
nVidia зарелизила OpenGL 3.0 драйверы | 30 янв. 2009 | 1:44 | #200 |
---|
На ATI X1300 context не создается :(, wglCreateContextAttribsARB != NULL
пробовал так:
и так
на nVidia 8600 все работает по второму варианту. Пишет OpenGL 3.0 NVIDIA 181.00, GLSL 1.3
пробовал так:
const int formatAttributes[] = { WGL_CONTEXT_MAJOR_VERSION_ARB, 3, WGL_CONTEXT_MINOR_VERSION_ARB, WGL_CONTEXT_FLAGS_ARB, WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB, 0 };
if (wglCreateContextAttribsARB) { const int formatAttributes[] = { WGL_CONTEXT_MAJOR_VERSION_ARB, 3, WGL_CONTEXT_MINOR_VERSION_ARB, 0, 0, 0 };
Преподавание С++ | 29 янв. 2009 | 13:39 | #15 |
---|
dub
>паскаль, Delphi
плохо дело. тогда твой объем будет достаточен. Все кто заинтересовался пойдут дальше.
эти языки значительно проще С++ тяжело будет хорошо изучить C++. Хотя от человека все зависит.
>паскаль, Delphi
плохо дело. тогда твой объем будет достаточен. Все кто заинтересовался пойдут дальше.
эти языки значительно проще С++ тяжело будет хорошо изучить C++. Хотя от человека все зависит.
Правка: 29 янв. 2009 13:51
проблема с OpenGL | 29 янв. 2009 | 13:21 | #12 |
---|
Minsk and Boo
тема еще не во флейме? странно
тема еще не во флейме? странно
Преподавание С++ | 29 янв. 2009 | 12:12 | #7 |
---|
dub
>смеси это что? ?
а где RTTI, исключения и проблемы производительности? где ООП ? где совместимость с С ?
1 лекция раз в 2 недели? это очень мало. хотя-бы раз в неделю, а практика 2 раза. Зачем dll ? это уже более специфически. По идее это должно быть в курсе программирования под Windows. Зачем паттерны? по идее тоже отдельный курс и возможно вместе с UML. Многие не поймут что это. Хотя все от уровня зависит.
>смеси это что?
union
а где RTTI, исключения и проблемы производительности? где ООП ? где совместимость с С ?
1 лекция раз в 2 недели? это очень мало. хотя-бы раз в неделю, а практика 2 раза. Зачем dll ? это уже более специфически. По идее это должно быть в курсе программирования под Windows. Зачем паттерны? по идее тоже отдельный курс и возможно вместе с UML. Многие не поймут что это. Хотя все от уровня зависит.
Как при вызове метода через указатель изменить значение этого самого указателя (изменить this)? | 27 янв. 2009 | 10:13 | #15 |
---|
aRpi
ужос
ужос
HLSL & GLSL || CG ? | 24 янв. 2009 | 23:40 | #50 |
---|
innuendo
>У кого есть факты что HLSL и Cg могут компилить один шейдер в разный код ( по качеству ) ? Вроде это братья близнецы :)
http://blog.gamedeff.com/forum/view.html?id=10
там IronPeter постил.
>У кого есть факты что HLSL и Cg могут компилить один шейдер в разный код ( по качеству ) ? Вроде это братья близнецы :)
http://blog.gamedeff.com/forum/view.html?id=10
там IronPeter постил.
Можно ли использовать 1 буфер для вершин и индерсов?[DX10] | 24 янв. 2009 | 13:40 | #4 |
---|
Bishop
>D3D10_BIND_VERTEX_BUFFER or D3D10_BIND_INDEX_BUFFER
по идее API смотрит тип биндинга по этим параметрам(ведь вершины и индексы хранятся наверняка по разному) и если ты ставишь как вершинный буфер а при создании указываешь
D3D10_BIND_INDEX_BUFFER(ведь у тебя 1 буфер для всего) то как это будет работать?
или наоборот при создании D3D10_BIND_VERTEX_BUFFER, а ставишь как индексный.
>D3D10_BIND_VERTEX_BUFFER or D3D10_BIND_INDEX_BUFFER
по идее API смотрит тип биндинга по этим параметрам(ведь вершины и индексы хранятся наверняка по разному) и если ты ставишь как вершинный буфер а при создании указываешь
D3D10_BIND_INDEX_BUFFER(ведь у тебя 1 буфер для всего) то как это будет работать?
или наоборот при создании D3D10_BIND_VERTEX_BUFFER, а ставишь как индексный.
Deferred Shading, AA, alpha blending. (demo, GL2.0) | 24 янв. 2009 | 3:29 | #32 |
---|
NULL_PTR
ATI X1300 не запуcтилось(8.12 дрова): nVidia 8600 GT тоже
ATI X1300 не запуcтилось(8.12 дрова): nVidia 8600 GT тоже
Successfully created OpenGL device Creating and compiling vertex shader Creating and compiling fragment shader Linking and validating shader GLSL validation warnings: Creating and compiling vertex shader Creating and compiling fragment shader Linking and validating shader GLSL validation warnings: Creating and compiling vertex shader Creating and compiling fragment shader Linking and validating shader GLSL validation warnings: Creating and compiling vertex shader Creating and compiling fragment shader Linking and validating shader GLSL validation warnings: Creating and compiling vertex shader Creating and compiling fragment shader Linking and validating shader GLSL validation warnings: Frame buffer unsupported Failed to render frame Successfully destroyed OpenGL device
Можно ли использовать 1 буфер для вершин и индерсов?[DX10] | 24 янв. 2009 | 3:13 | #2 |
---|
Bishop
а как это будет работать?
ты что ставил когда создавал, в параметре D3D10_BUFFER_DESC.BindFlags ?
а как это будет работать?
ты что ставил когда создавал, в параметре D3D10_BUFFER_DESC.BindFlags ?
HLSL & GLSL || CG ? | 23 янв. 2009 | 14:18 | #25 |
---|
XaeroX
хм... я для ARB помню правил семантику ATI не понимал weight.
хм... я для ARB помню правил семантику ATI не понимал weight.
HLSL & GLSL || CG ? | 23 янв. 2009 | 12:59 | #15 |
---|
NighthunteR
>Гарантируется ли, что Сg компилятор в GLSL профиле создает код 100% совместимый с ATI?
да.
>Гарантируется ли, что Сg компилятор в GLSL профиле создает код 100% совместимый с ATI?
да.
Експорт геометрии из 3d max | 22 янв. 2009 | 15:31 | #19 |
---|
Vel
>Я незнаю, все скомпилилось, а модели сохраненные моим плагином уже не грузятся в загрузчике, он виснит и все.
ну дак проблема может в загрузчике? дебаж смотри что не так.
>только вот я немогу разобраться как оттуда нормали достать нормально ...
да вот стандартный метод для получения нормалей:
>Я незнаю, все скомпилилось, а модели сохраненные моим плагином уже не грузятся в загрузчике, он виснит и все.
ну дак проблема может в загрузчике? дебаж смотри что не так.
>только вот я немогу разобраться как оттуда нормали достать нормально ...
да вот стандартный метод для получения нормалей:
//Получить нормаль к вершине Point3 ModelSaver::GetVertexNormal(Mesh& mesh, int faceNo, int vertexIndex, const Matrix3& rot) const { if (faceNo >= mesh.getNumFaces()) { return Point3(0.0f, 0.0f, 0.0f); } // Получение RVertex RVertex& rv = mesh.getRVert(vertexIndex); // Получить грань Face& face = mesh.faces[faceNo]; // Группа сглаживания DWORD smGroup = face.getSmGroup(); // Число нормалей int numNormals = 0; Point3 vertexNormal; // Данное определение еще не используется, // но может быть определена в следующих версиях if (rv.rFlags & SPECIFIED_NORMAL) { vertexNormal = rot * rv.rn.getNormal(); } // Проверка нормали для группы сглаживания else if ((numNormals = rv.rFlags & NORCT_MASK) && smGroup) { // Если есть 1 вершина найденная в Классе rn if (1 == numNormals) { vertexNormal = rot * rv.rn.getNormal(); } else { // Ищется та нормаль которая входит в ту-же группу сглаживания // что и нормали указателя ern класса RNormal. // В этом случае найдется множество нормалей for (int i = 0; i < numNormals; i++) { if (rv.ern[i].getSmGroup() & smGroup) { vertexNormal = rot * rv.ern[i].getNormal(); } } } } else { // Последний вариант получения нормали это нормаль к гране // содержащей вершину vertexNormal = rot * mesh.getFaceNormal(faceNo); } vertexNormal.Normalize(); return vertexNormal; } |