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

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

Движек мечты, в нашей реальности - какой он у вас ?10 мар. 200912:37#26
Flamer
+100
так дальше и дерзай
crazy25
+100
aRpi
>2) Скрипты должны использоваться только для создания миссий, а также "индивидуальных моментов". Скрипты повсеместно признак неправильной архитектуры.
-100
Вот такой вот "SceneGraph" придумался7 мар. 200915:32#3
x
перенес бы тему в раздел графика. Cоглашусь с Zemedelec всевозможные графические понятия как диффузионная текстура и т.д. не должны иметь никакого отношения к иерархи сцены в виде Scene Graph.
>в него уложено дерево с двусторонними иерархическими связями.
можно подробнее что это дает?

Parallel Split Shadow Map: Проблемы с глубиной.(Закрыто)7 мар. 200915:14#16
Ошибка найдена тема закрыта. Спасибо всем за внимание. Отдельное спасибо Outlaw
Parallel Split Shadow Map: Проблемы с глубиной.(Закрыто)7 мар. 200914:29#15
Исправил ошибку с исчезновением объектов. Поправил первый пост
осталась проблема с глубиной. Может быть как то хитро нужно выставлять ViewPort ?
SSE(N)6 мар. 200910:21#13
паравоз
а если в сцене 3 десятка объектов со скелетной анимацией где костей около 80 и больше?
расчет иерархии матриц на CPU ведется имеется ввиду. Потом матрицы передаются в вершинный шейдер.
Непонятная ошибка компилятора при использовании timeGetTime(); в C++ (VS 2003)5 мар. 200923:19#14
Heb
просто вызывай ее вместо timeGetTime();
#include <ctime>
...
clock_t t = clock();
ну а для более точного конечно Win32 QueryPerformanceCounter про него и про clock() - MSDN.
SSE(N)5 мар. 200923:06#9
JAre
да большое спасибо за ссылку! очень актуальный материал!
Спецификация OpenGL 3 от сегодня! (+инфа в посте №1)5 мар. 200922:07#723
Executor
а ну извиняюсь если не заметил.
SSE(N)5 мар. 200920:10#7
Burz666
>Streaming SIMD Extensions 2 (/arch:SSE2)
не фига особо это вроде не дает. Если не ошибаюсь тупой подмен FPU инструкций на SSE
Спецификация OpenGL 3 от сегодня! (+инфа в посте №1)5 мар. 200920: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 мар. 200919:59#717
Executor
все падает любой bat файл и exe. ATI 9600 дрова 9.2.
иногда выдает левые символы типа таких: ☺☻ после вывода в консоль лога шейдеров. ошибка с памятью?
Установка ортогональной проекции в DirectX104 мар. 200923:35#8
Nomad
>А если индексы сделать 32битные, то можно создать буффер под сразу миллиард символов! Тогда точно места хватит, 100%!
не понял а что 1.24 метра памяти под такой буфер много что-ли? в чем понт твой? а если текст более менее большой? лучше больше задать(причем это не много). чем DIP гонять за несколько раз.
Установка ортогональной проекции в DirectX104 мар. 200921:24#6
soroca
задай большой буфер для текста например что-бы укладывалось 16383 символа - это как раз под 16-разрядный буфер.
((2^16 - 1) / 4, где 4 вершина на символ). Этого хватит для простого вывода текста. Для более сложного нужно думать.
была тема на форуме. Потом буфер лочишь и выводишь за 1 DIP всю строку.
Непонятная ошибка компилятора при использовании timeGetTime(); в C++ (VS 2003)4 мар. 200918:28#3
Heb
зачем тебе эта функция? используй clock() - во первых она легче по вызову во вторых ANSI C.
Установка ортогональной проекции в DirectX104 мар. 200918:26#4
soroca
В 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++. что-бы шрифт и многие простые вещи рисовались без внешних шейдеров.

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

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