Сообщения на форуме пользователя Andrey (107 стр.)
Processing/Rendering Particles - HOW? | 31 мая 2008 | 17:24 | #15 |
---|
kas
Тоже верно так рекомендуется делать
Тоже верно так рекомендуется делать
Processing/Rendering Particles - HOW? | 31 мая 2008 | 17:19 | #12 |
---|
Asteraceaeхранить лучше в системной памяти массив позиций и их обновлять. потом копировать в указатель который вернул лок Функцией memcpy
Processing/Rendering Particles - HOW? | 31 мая 2008 | 16:27 | #2 |
---|
Asteraceae
пересоздавать буфер Это не правильно. создавай динамический буфер в дефолт пуле
Локай с дискардом флагом
пересоздавать буфер Это не правильно. создавай динамический буфер в дефолт пуле
Локай с дискардом флагом
Уменьшение полигонности модели Что почитать или какие есть идеи? | 30 мая 2008 | 11:05 | #8 |
---|
yurik_gad
круто! спасибо за ссылку!
круто! спасибо за ссылку!
Зацените фейковые взрывы | 29 мая 2008 | 16:37 | #29 |
---|
HolyDel
аналогичный скрин из 24 поста после обновления bump шейдера
аналогичный скрин из 24 поста после обновления bump шейдера
Зацените фейковые взрывы | 29 мая 2008 | 16:01 | #19 |
---|
Tonal
белый квадрат по краям есть что-то непонятное ATI 9600 дрова за май 2008
белый квадрат по краям есть что-то непонятное ATI 9600 дрова за май 2008
Контроль и обход ошибок%) | 29 мая 2008 | 11:16 | #39 |
---|
const
+100
All
Советую почитать всем вот это:
Майерс "Наиболее эффективное использование C++. 35 рекомендаций по улучшению ваших программ и проектов" стр. 86 Правило 14.
мне кажется возможность обработки исключений нужно обрамлять макросами условной компиляции и отключать эти макросы в финальной релизной версии движка/игры. Далее к примеру Microsoft настоятельно рекомендует не использовать исключений на XBOX.
+100
All
Советую почитать всем вот это:
Майерс "Наиболее эффективное использование C++. 35 рекомендаций по улучшению ваших программ и проектов" стр. 86 Правило 14.
мне кажется возможность обработки исключений нужно обрамлять макросами условной компиляции и отключать эти макросы в финальной релизной версии движка/игры. Далее к примеру Microsoft настоятельно рекомендует не использовать исключений на XBOX.
Контроль и обход ошибок%) | 28 мая 2008 | 16:02 | #24 |
---|
SLamon
Нормальные сторонние библиотеки кстати имею возможность отключить обработку ошибок с исключениями. К примеру luabind и boost имеют соответствующие макросы.
Нормальные сторонние библиотеки кстати имею возможность отключить обработку ошибок с исключениями. К примеру luabind и boost имеют соответствующие макросы.
Курю std::fstream | 28 мая 2008 | 13:36 | #8 |
---|
Breezy
>Не думаю что FILE быстрее, особенно для ввода данных маленькими порциями.
быстрее. если реализация от STLPort то там потоки ввода/вывода быстрее stdio т.к. они напрямую вызывают ReadFile/WriteFile. В реализации от Microsoft пооки ввода/вывода это обертка над stdio. Сам лично изучал исходники и там и там.
а вот и тесты
http://www.ipolyakov.com/ru/stdioVSiostreams/comparison.html
>Не думаю что FILE быстрее, особенно для ввода данных маленькими порциями.
быстрее. если реализация от STLPort то там потоки ввода/вывода быстрее stdio т.к. они напрямую вызывают ReadFile/WriteFile. В реализации от Microsoft пооки ввода/вывода это обертка над stdio. Сам лично изучал исходники и там и там.
а вот и тесты
http://www.ipolyakov.com/ru/stdioVSiostreams/comparison.html
Рендер в текстуру, где я дурак? | 26 мая 2008 | 16:48 | #3 |
---|
ghostdog
а где SetDepthStencilSurface/GetDepthStencilSurface ?
а где SetDepthStencilSurface/GetDepthStencilSurface ?
... g_pd3dDevice->SetRenderTarget( 0, apOriginalRenderTarget); // не забывай apOriginalRenderTarget->Release();
Cg: Есть ли проблемы с ATI? | 26 мая 2008 | 13:08 | #17 |
---|
Woland
Я кстати не уверен может ли Cg API передавать за 1 вызов все параметры в шейдер.
Я кстати не уверен может ли Cg API передавать за 1 вызов все параметры в шейдер.
Cg: Есть ли проблемы с ATI? | 26 мая 2008 | 12:55 | #15 |
---|
Woland
я Cg API использую мало. Тебе придется использовать его больше чем мне. Ты почитай доки для начала. Потом уже конкретные вопросы задавай. Разжевыввать тебе возможно никто не будет.
я Cg API использую мало. Тебе придется использовать его больше чем мне. Ты почитай доки для начала. Потом уже конкретные вопросы задавай. Разжевыввать тебе возможно никто не будет.
Cg: Есть ли проблемы с ATI? | 26 мая 2008 | 12:31 | #13 |
---|
Woland
>каким образом лучше передавать параметры в шейдер.
за 1 вызов SetVertexShaderconstantF/SetPixelShaderConstantF. Для этого лучше хранить единый pool констант.
про хеш таблицы это наверное перебор, можно проще.
>Еще очень хочется, чтобы добавление нового эффекта как можно реже заставляло править код движка (уж больно неспокойный ветер дует со стороны передачи >параметров)...
задай понятие автоматического параметра шейдера к примеру время, матрицы трансформаций и т.д. Это будет более гибко и универсально.
При установке шейдера будет обновление этих параметров соответсвующим способом. Насчет проверки поменялись или нет не знаю как тут лучше. Если не поменялись засылать не нужно к примеру, тогда не пройдет идея с pool'ом, его нужно разбивать на куски и засылать по частям деля несколько вызовов API что не очень хорошо. Да и у тебя же все равно шедеров много, так что поменялись константы или нет, засылать нужно по новой для теущего шейдера.
>Возникает вопрос: насколько трудоемка операция передачи параметра в шейдер? имеет ли смысл выбирать только изменившиеся параметры, или это только >затормозит все?
трудоемка, особенно для пиксельного. Смотри в DirectX SDK "Accurately Profiling Direct3D API Calls"
>каким образом лучше передавать параметры в шейдер.
за 1 вызов SetVertexShaderconstantF/SetPixelShaderConstantF. Для этого лучше хранить единый pool констант.
про хеш таблицы это наверное перебор, можно проще.
>Еще очень хочется, чтобы добавление нового эффекта как можно реже заставляло править код движка (уж больно неспокойный ветер дует со стороны передачи >параметров)...
задай понятие автоматического параметра шейдера к примеру время, матрицы трансформаций и т.д. Это будет более гибко и универсально.
При установке шейдера будет обновление этих параметров соответсвующим способом. Насчет проверки поменялись или нет не знаю как тут лучше. Если не поменялись засылать не нужно к примеру, тогда не пройдет идея с pool'ом, его нужно разбивать на куски и засылать по частям деля несколько вызовов API что не очень хорошо. Да и у тебя же все равно шедеров много, так что поменялись константы или нет, засылать нужно по новой для теущего шейдера.
>Возникает вопрос: насколько трудоемка операция передачи параметра в шейдер? имеет ли смысл выбирать только изменившиеся параметры, или это только >затормозит все?
трудоемка, особенно для пиксельного. Смотри в DirectX SDK "Accurately Profiling Direct3D API Calls"
Cg: Есть ли проблемы с ATI? | 26 мая 2008 | 11:08 | #11 |
---|
Woland
Я использую постно Cg так пишу движок с OpenGL/Direct3D9. Я использую его как промежуточный компилятор из Cg в OpenGL шейдеры либо в asm Direct3D9. Проблем с ATI в случае Direct3D не дудут по определению, с чего они должны быть?
Cg == HLSL с некоторыми отличиями. Под OpenGL мне пришлось правда 1 раз править код скомпиленный Cg что-бы работало на ATI. как я понял ты будешь использовать Cg Runtime там все скрыто от конечного пользователя. Так что у тебя тем более не будет проблем.
Я использую постно Cg так пишу движок с OpenGL/Direct3D9. Я использую его как промежуточный компилятор из Cg в OpenGL шейдеры либо в asm Direct3D9. Проблем с ATI в случае Direct3D не дудут по определению, с чего они должны быть?
Cg == HLSL с некоторыми отличиями. Под OpenGL мне пришлось правда 1 раз править код скомпиленный Cg что-бы работало на ATI. как я понял ты будешь использовать Cg Runtime там все скрыто от конечного пользователя. Так что у тебя тем более не будет проблем.
Новичку: 3d game на C++ | 23 мая 2008 | 18:09 | #18 |
---|
SunnyDay
да я не верю что ты используешь 3ds ;)
да я не верю что ты используешь 3ds ;)