Сообщения на форуме пользователя Andrey (82 стр.)
Движек мечты, в нашей реальности - какой он у вас ? | 10 мар. 2009 | 12:37 | #26 |
---|
Flamer
+100
так дальше и дерзай
crazy25
+100
aRpi
>2) Скрипты должны использоваться только для создания миссий, а также "индивидуальных моментов". Скрипты повсеместно признак неправильной архитектуры.
-100
+100
так дальше и дерзай
crazy25
+100
aRpi
>2) Скрипты должны использоваться только для создания миссий, а также "индивидуальных моментов". Скрипты повсеместно признак неправильной архитектуры.
-100
Вот такой вот "SceneGraph" придумался | 7 мар. 2009 | 15:32 | #3 |
---|
x
перенес бы тему в раздел графика. Cоглашусь с Zemedelec всевозможные графические понятия как диффузионная текстура и т.д. не должны иметь никакого отношения к иерархи сцены в виде Scene Graph.
>в него уложено дерево с двусторонними иерархическими связями.
можно подробнее что это дает?
перенес бы тему в раздел графика. Cоглашусь с Zemedelec всевозможные графические понятия как диффузионная текстура и т.д. не должны иметь никакого отношения к иерархи сцены в виде Scene Graph.
>в него уложено дерево с двусторонними иерархическими связями.
можно подробнее что это дает?
Parallel Split Shadow Map: Проблемы с глубиной.(Закрыто) | 7 мар. 2009 | 15:14 | #16 |
---|
Ошибка найдена тема закрыта. Спасибо всем за внимание. Отдельное спасибо Outlaw
Parallel Split Shadow Map: Проблемы с глубиной.(Закрыто) | 7 мар. 2009 | 14:29 | #15 |
---|
Исправил ошибку с исчезновением объектов. Поправил первый пост
осталась проблема с глубиной. Может быть как то хитро нужно выставлять ViewPort ?
осталась проблема с глубиной. Может быть как то хитро нужно выставлять ViewPort ?
SSE(N) | 6 мар. 2009 | 10:21 | #13 |
---|
паравоз
а если в сцене 3 десятка объектов со скелетной анимацией где костей около 80 и больше?
расчет иерархии матриц на CPU ведется имеется ввиду. Потом матрицы передаются в вершинный шейдер.
а если в сцене 3 десятка объектов со скелетной анимацией где костей около 80 и больше?
расчет иерархии матриц на CPU ведется имеется ввиду. Потом матрицы передаются в вершинный шейдер.
Непонятная ошибка компилятора при использовании timeGetTime(); в C++ (VS 2003) | 5 мар. 2009 | 23:19 | #14 |
---|
Heb
просто вызывай ее вместо timeGetTime();
ну а для более точного конечно Win32 QueryPerformanceCounter про него и про clock() - MSDN.
просто вызывай ее вместо timeGetTime();
#include <ctime> ... clock_t t = clock();
Спецификация OpenGL 3 от сегодня! (+инфа в посте №1) | 5 мар. 2009 | 22:07 | #723 |
---|
Executor
а ну извиняюсь если не заметил.
а ну извиняюсь если не заметил.
SSE(N) | 5 мар. 2009 | 20:10 | #7 |
---|
Burz666
>Streaming SIMD Extensions 2 (/arch:SSE2)
не фига особо это вроде не дает. Если не ошибаюсь тупой подмен FPU инструкций на SSE
>Streaming SIMD Extensions 2 (/arch:SSE2)
не фига особо это вроде не дает. Если не ошибаюсь тупой подмен FPU инструкций на SSE
Спецификация OpenGL 3 от сегодня! (+инфа в посте №1) | 5 мар. 2009 | 20:08 | #719 |
---|
SNVampyre
ты наверное не понял. бат файлы для разных версий же есть
а это для чего в коде?
ты наверное не понял. бат файлы для разных версий же есть
а это для чего в коде?
if (!strcmp(argv[i], "-ogl3")) ogl3 = true; else if (!strcmp(argv[i], "-ogl3fc")) { ogl3 = true; ogl3fc = true; } else if (!strcmp(argv[i], "-v2")) { v2 = true; } ... if (ogl3) { ... } else { } }
Спецификация OpenGL 3 от сегодня! (+инфа в посте №1) | 5 мар. 2009 | 19:59 | #717 |
---|
Executor
все падает любой bat файл и exe. ATI 9600 дрова 9.2.
иногда выдает левые символы типа таких: ☺☻ после вывода в консоль лога шейдеров. ошибка с памятью?
все падает любой bat файл и exe. ATI 9600 дрова 9.2.
иногда выдает левые символы типа таких: ☺☻ после вывода в консоль лога шейдеров. ошибка с памятью?
Установка ортогональной проекции в DirectX10 | 4 мар. 2009 | 23:35 | #8 |
---|
Nomad
>А если индексы сделать 32битные, то можно создать буффер под сразу миллиард символов! Тогда точно места хватит, 100%!
не понял а что 1.24 метра памяти под такой буфер много что-ли? в чем понт твой? а если текст более менее большой? лучше больше задать(причем это не много). чем DIP гонять за несколько раз.
>А если индексы сделать 32битные, то можно создать буффер под сразу миллиард символов! Тогда точно места хватит, 100%!
не понял а что 1.24 метра памяти под такой буфер много что-ли? в чем понт твой? а если текст более менее большой? лучше больше задать(причем это не много). чем DIP гонять за несколько раз.
Установка ортогональной проекции в DirectX10 | 4 мар. 2009 | 21:24 | #6 |
---|
soroca
задай большой буфер для текста например что-бы укладывалось 16383 символа - это как раз под 16-разрядный буфер.
((2^16 - 1) / 4, где 4 вершина на символ). Этого хватит для простого вывода текста. Для более сложного нужно думать.
была тема на форуме. Потом буфер лочишь и выводишь за 1 DIP всю строку.
задай большой буфер для текста например что-бы укладывалось 16383 символа - это как раз под 16-разрядный буфер.
((2^16 - 1) / 4, где 4 вершина на символ). Этого хватит для простого вывода текста. Для более сложного нужно думать.
была тема на форуме. Потом буфер лочишь и выводишь за 1 DIP всю строку.
Непонятная ошибка компилятора при использовании timeGetTime(); в C++ (VS 2003) | 4 мар. 2009 | 18:28 | #3 |
---|
Heb
зачем тебе эта функция? используй clock() - во первых она легче по вызову во вторых ANSI C.
зачем тебе эта функция? используй clock() - во первых она легче по вызову во вторых ANSI C.
Установка ортогональной проекции в DirectX10 | 4 мар. 2009 | 18:26 | #4 |
---|
soroca
В Direct3D10 не фиксированного конвейера. поэтому тебе нужны 2 шейдера. Примерно такие(у меня), если у тебя формат вершин конечно такой-же (у меня в вершинном буфере float3 - position, float2 - texcoord)
компиль их с флагом
D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY (| D3D10_SHADER_PACK_MATRIX_ROW_MAJOR или матрицу транспонируй либо порядок mul меняй )
ну и для вершинного передавая матрицу проекции которую можно получить из той функции что ты написал в посте 3,
ставь вершинный и индексный буфер для шрифта,
ставь текстуру шрифта в первый регистр и пиксельный шейдер и рисуй через ID3D10Device::DrawIndexed.
Остальное ты уже умеешь по идее должен уметь, типа ID3D10Device::CreateInputLayout и т.д.
Для удобства такой шейдер я забил прямо в код C++. что-бы шрифт и многие простые вещи рисовались без внешних шейдеров.
В Direct3D10 не фиксированного конвейера. поэтому тебе нужны 2 шейдера. Примерно такие(у меня), если у тебя формат вершин конечно такой-же (у меня в вершинном буфере float3 - position, float2 - texcoord)
uniform float4x4 ProjMatrix : register(c0); struct PSIn { float4 pos: SV_POSITION; float2 Tex: TEXCOORD0; }; PSIn vsMain(in float4 pos: SV_POSITION, in float2 Tex: TEXCOORD0)\ { PSIn Out; Out.pos = mul(pos, ProjMatrix); Out.Tex = Tex; return Out; } uniform Texture2D tex : register(t0); SamplerState smpState : register(s0) { Filter = MIN_MAG_MIP_POINT; AddressU = CLAMP; AddressV = CLAMP; }; float4 psMain(PSIn In): SV_Target { return tex.Sample(smpState, In.Tex); }
D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY (| D3D10_SHADER_PACK_MATRIX_ROW_MAJOR или матрицу транспонируй либо порядок mul меняй )
ну и для вершинного передавая матрицу проекции которую можно получить из той функции что ты написал в посте 3,
ставь вершинный и индексный буфер для шрифта,
ставь текстуру шрифта в первый регистр и пиксельный шейдер и рисуй через ID3D10Device::DrawIndexed.
Остальное ты уже умеешь по идее должен уметь, типа ID3D10Device::CreateInputLayout и т.д.
Для удобства такой шейдер я забил прямо в код C++. что-бы шрифт и многие простые вещи рисовались без внешних шейдеров.