Сообщения на форуме пользователя Andrey (2 стр.)
Тормоза при загрузке ресурсов в отдельном потоке | 12 дек. 2012 | 14:19 | #26 |
---|
> Какие тут будут расклады по скорости ?
Вообще нулевые. Поток загрузки сидит на евенте, либо приостановлен. Поток рендера просто под критической секцией данные получает.
Тормоза при загрузке ресурсов в отдельном потоке | 12 дек. 2012 | 13:36 | #23 |
---|
> Это там, где каждый метод девайса обвязан критсекцией ?
да.
Тормоза при загрузке ресурсов в отдельном потоке | 12 дек. 2012 | 13:01 | #20 |
---|
> А в D3D9 нету лишней синхронизации, когда из другого потока заливается текстура ?
Есть при создании девайса с флагом многопоточности.
Тормоза при загрузке ресурсов в отдельном потоке | 12 дек. 2012 | 11:44 | #17 |
---|
> glTexSubImage(xxxxxx)
>
> и в этот момент "всё повисает намертво, как будто никакого второго потока и
> нет."
Да ты что! наверное что-то с расшариванием контектов. Проверь после wgl* функциий GetLastError, а после OpenGL вызовов возможно будет GL_INVALID_OPARATION
>надо чтобы этот поток сказал что текстуры готовы и отослать byte *texData в поток отрисовки, который зальет все на видео через этот glTexSubImage
>??
>или что
Ага, именно так:
1) Render Thread:
берем указатель из PBO
byte *texData = mapBuffer(pbo)
отдаем этот указатель в поток загрузки
2) Loading Thread:
копируем данные в указатель из PBO
Даем сигнал Render Thread об окончании копирования
3) Render Thread:
unMapBuffer(pbo)
Идеальное решение. Не нужно шарить контексты это лишняя сихронизация.
Оптимизация вывода множества обьектов при условии уникальной текстуры. | 12 дек. 2012 | 11:34 | #9 |
---|
> Еще щас поковыряю мипмап думаю еще добавит производительности
У тебя его до сих пор не было???
непонятки с компиляцией фрагментного шейдера | 12 дек. 2012 | 10:07 | #8 |
---|
fxc.exe lighting.hlsl /E Pixel_Shader /T ps_4_0 > res.asm
lighting.hlsl(31,54): error X3004: undeclared identifier 'MRT0' compilation failed; no code produced
Где у тебя объявлен MRT0 ?
Космический движок SpaceEngine | 10 дек. 2012 | 19:03 | #2647 |
---|
> glGetError выдает GL_INVALID_OPERATION после glUniformXXX - видимо из-за того
> что я пытаюсь передать float4 в юниформ, который из-за кривой загрузки
> бинарника стоит на месте какого-нибудь float3 юниформа.
может лучше UBO использовать?
Оптимизация вывода множества обьектов при условии уникальной текстуры. | 10 дек. 2012 | 15:27 | #3 |
---|
> но потом подумал что ето повлияет только на скорость инициализации текстур.
Каким образом?? видюха хардварно разжимает их. Загрузка самая быстрая и простая, никакого декодирования с jpg/tga/png.
>Может лучше любую загружаемую текстуру переконвертировать в DDS(DXT) и уже ее загружать?
сразу сохраняй в DXT и забудь вообще про другие форматы, если ты конечно не из редактора работаешь, там удобнее поддерживать разные форматы, те что удобны артистам. Финальный формат текстур исключительно DXT.
Насчет оптимизации посмотри в сторону инстансинга, текстурных атласов, объединение мелких объектов в 1 большой буфер что-бы сократить число DIP, все это делать нужно после Фрустум.
>некоторые мешы просто взрываются (причем не все) и начинает все мигать при движении камеры,
какое API ? у тебя скорей всего ошибка в буферах, индексах или еще что-нибудь.
std::map против наивного бинарного дерева | 10 дек. 2012 | 10:16 | #38 |
---|
Ghost2
> Деревья вполне могут быть быстрее хешей. Например, когда вычисление хеша
> намного дороже operator<. Длинные строчки, скажем, храним.
> Для вычисления хеша нужно пройтись по всей строчке, а для сравнения строк - по
> нескольким первым символам.
Несмотря на это в сетевом/веб программировании очень часто используют хеширование для поиска, или структуры данных основанные на хешь функциях. К примеру
радужные таблицы.
Поправьте, где не прав.
billboard в opengl c++ | 7 дек. 2012 | 11:28 | #39 |
---|
> да уж...мужчины называются! затроллили девушку студентку..
Ты пойми их, тяжело признать что девушка пытается прогать 3D и тяжело признать что что-то получится путевое, другое дело были бы вопросы html, php, БД и остальной вебдев и биздев.
Вообще ты практически обречена. Сдать курсовик по 3D графике причем такого уровня без подготовке практически нереально. Я думаю вас и программировать еще не научили толком.
Причем препод твой скорее всего старый дед или молодой аспирант, ничего не понимающий в современном программировании с использованием графических API, возможно она написал свой софтварный движок с аффинным текстурированием/перспективной коррекцией но эти знания далеко не дают ему право требовать от студентов такой курсовик.
Одно дело списать с тырнета и просто сдать ему, ну а если он будет спрашивать то, чего сам не знает это уже несправедливо.
вот тебе пример http://www.codesampler.com/oglsrc/oglsrc_8.htm#ogl_axis_aligned_billboard
только много травы не пытайся рисовать таким способом. Не думаю что ты успеешь воткнуть туда шейдеры и сделать все на них.
D3D forward declarations | 6 дек. 2012 | 11:42 | #4 |
---|
> Только compiler warning подсказал,
> struct IDirect3DTexture9;
> Хз, почему так, но заработало.
Все просто использовать Direct3D можно и с языка C(компилировать как C), а последний ничего не знает о ключевом слове class.
Как загрузить текстуру для D3D9 без использования D3DX? | 5 дек. 2012 | 14:51 | #7 |
---|
грузишь файлы используя DevIL,FreeImage и libpng, libjpeg, libtga т.д. в залоченный буфер (IDirect3DTexture9::LockRect), далее IDirect3DTexture9::GenerateMipSubLevels.
PVRTexTool 3.40 не хочет делать r4g4b4a4 | 5 дек. 2012 | 11:03 | #3 |
---|
> PVRTexTool
наверное лучше, на форум http://forum.imgtec.com сходить узнать, или в саппорт напиши им. Возможно тулза специфическая.
Sergio
вообще темку бы в раздел графика перенести, там больше народу уывидит.
вращение камеры вокруг заданной точки | 3 дек. 2012 | 12:41 | #21 |
---|
evirus
> мне он точно не нужен)
> автору нужен Crystal Ball Interface всего-то
ой, не тот ник вставил.
вращение камеры вокруг заданной точки | 2 дек. 2012 | 12:17 | #17 |
---|