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

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

Тормоза при загрузке ресурсов в отдельном потоке12 дек. 201214:19#26
innuendo
> Какие тут будут расклады по скорости ?
Вообще нулевые. Поток загрузки сидит на евенте, либо приостановлен. Поток рендера просто под критической секцией данные получает.
Тормоза при загрузке ресурсов в отдельном потоке12 дек. 201213:36#23
innuendo
> Это там,  где каждый метод девайса обвязан критсекцией ?
да.
Тормоза при загрузке ресурсов в отдельном потоке12 дек. 201213:01#20
innuendo
> А в D3D9 нету лишней синхронизации, когда из другого потока заливается текстура ?
Есть при создании девайса с флагом многопоточности.
Тормоза при загрузке ресурсов в отдельном потоке12 дек. 201211:44#17
The Andreyp
>   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 дек. 201211:34#9
Anders333
> Еще щас поковыряю мипмап думаю еще добавит производительности
У тебя его до сих пор не было???
непонятки с компиляцией фрагментного шейдера12 дек. 201210:07#8
RuZaKy
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 ?

Космический движок SpaceEngine10 дек. 201219:03#2647
Neptune
> glGetError выдает GL_INVALID_OPERATION после glUniformXXX - видимо из-за того
> что я пытаюсь передать float4 в юниформ, который из-за кривой загрузки
> бинарника стоит на месте какого-нибудь float3 юниформа.
может лучше UBO использовать?
Оптимизация вывода множества обьектов при условии уникальной текстуры.10 дек. 201215:27#3
Anders333
> но потом подумал что ето повлияет только на скорость инициализации текстур.
Каким образом?? видюха хардварно разжимает их. Загрузка самая быстрая и простая, никакого декодирования с jpg/tga/png.
>Может лучше любую загружаемую текстуру переконвертировать в DDS(DXT) и уже ее загружать?
сразу сохраняй в DXT и забудь вообще про другие форматы, если ты конечно не из редактора работаешь, там удобнее поддерживать разные форматы, те что удобны артистам. Финальный формат текстур исключительно DXT.
Насчет оптимизации посмотри в сторону инстансинга, текстурных атласов, объединение мелких объектов в 1 большой буфер что-бы сократить число DIP, все это делать нужно после Фрустум.
>некоторые мешы просто взрываются (причем не все) и начинает все мигать при движении камеры,
какое API ? у тебя скорей всего ошибка в буферах, индексах или еще что-нибудь.
std::map против наивного бинарного дерева10 дек. 201210:16#38
Интересная тема.
Ghost2
> Деревья вполне могут быть быстрее хешей. Например, когда вычисление хеша
> намного дороже operator<. Длинные строчки, скажем, храним.
> Для вычисления хеша нужно пройтись по всей строчке, а для сравнения строк - по
> нескольким первым символам.
Несмотря на это в сетевом/веб программировании очень часто используют хеширование для поиска, или структуры данных основанные на хешь функциях. К примеру
радужные таблицы.
Поправьте, где не прав.
 
billboard в opengl c++7 дек. 201211:28#39
Лиса
> да уж...мужчины называются! затроллили  девушку студентку..
Ты пойми их, тяжело признать что девушка пытается прогать 3D и тяжело признать что что-то получится путевое, другое дело были бы вопросы html, php, БД и остальной вебдев и биздев.

Вообще ты практически обречена. Сдать курсовик по 3D графике причем такого уровня без подготовке практически нереально. Я думаю вас и программировать еще не научили толком.
Причем препод твой скорее всего старый дед или молодой аспирант, ничего не понимающий в современном программировании с использованием графических API, возможно она написал свой софтварный движок с аффинным текстурированием/перспективной коррекцией но эти знания далеко не дают ему право требовать от студентов такой курсовик.
Одно дело списать с тырнета и просто сдать ему, ну а если он будет спрашивать то, чего сам не знает это уже несправедливо.

вот тебе пример http://www.codesampler.com/oglsrc/oglsrc_8.htm#ogl_axis_aligned_billboard
только много травы не пытайся рисовать таким способом. Не думаю что ты успеешь  воткнуть туда шейдеры и сделать все на них.

D3D forward declarations6 дек. 201211:42#4
Dark Minstrel
> Только compiler warning подсказал,
> struct IDirect3DTexture9;
> Хз, почему так, но заработало.
Все просто использовать Direct3D можно и с языка C(компилировать как C), а последний ничего не знает о ключевом слове class.
Как загрузить текстуру для D3D9 без использования D3DX?5 дек. 201214:51#7
dev
грузишь файлы используя DevIL,FreeImage и libpng, libjpeg, libtga  т.д. в залоченный буфер (IDirect3DTexture9::LockRect), далее IDirect3DTexture9::GenerateMipSubLevels.
PVRTexTool 3.40 не хочет делать r4g4b4a45 дек. 201211:03#3
Помеха
> PVRTexTool
наверное лучше, на форум http://forum.imgtec.com сходить узнать, или в саппорт напиши им. Возможно тулза специфическая.
Sergio
вообще темку бы в раздел графика перенести, там больше народу уывидит.
вращение камеры вокруг заданной точки3 дек. 201212:41#21
evirus
evirus
> мне он точно не нужен)
> автору нужен Crystal Ball Interface всего-то
ой, не тот ник вставил.
вращение камеры вокруг заданной точки2 дек. 201212:17#17
evirus
Пример орбитальной камеры. Это тебе и нужно.
http://www.dhpoware.com/demos/d3dCamera3.html

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

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