ФлеймФорумПрограммирование

STL. Использовать или нет? (81 стр)

Страницы: 177 78 79 80 81 82 Следующая »
#1200
9:22, 16 окт 2009

Andrey
> а теперь посмотри профайлером для сотни шейдеров и у каждого по десятку
> констант.

А как по-твоему Effects сделаны ? А ведь игры пишут на effects. Если у тебя 100 шейдеров то и объектов на сцене не 10 штук :)
Хотя, не отрицаю, это далеко не самый быстрый способ. Ты его спросил - ему нужно выпендриваться или чтобы был удобный способ передачи uniforms для тестов ?

#1201
9:41, 16 окт 2009

Ghost2
> Да. Теперь человек, который это сделал (написал свой мап) задумывается над
> ситуацией войны const char* и string и придумывает себе класс immutable_string
> (ну или как-нибудь покороче :) И так многие выходят, на нелегкую тропу
> кастомизаторов STL, с которой недалеко свернуть на широкую дорогу "no STL".

У меня сейчас на проекте куча логических контейнеров сделана на stl.  Хотя, не спорю, есть места где явный перебор c stl :)

Тут и аналог immutable_string есть.

#1202
12:04, 16 окт 2009

San
тогда это

manager->SetUniform("new", value);

хардкод с очень неприятным запахом...

> const char* UNIFORM_1 = "uniform_1";
> const char* UNIFORM_2 = "uniform_2";
это можно генерировать на этапе сборки ресурсов...

#1203
13:05, 16 окт 2009

Andrey
> > > GLint*
> > ээ?
> что непонятно?
почему поинтер? Attribute/Uniform location это GLint.

Pushkoff
> тогда это
>
> manager->SetUniform("new", value);
>
> хардкод с очень неприятным запахом...
это уже намного более гибкий и безопасный хардкод. За такой уже не бьют :))

#1204
14:18, 16 окт 2009

innuendo

> Тут и аналог immutable_string есть.
Дал бы пять рублей за возможность поглядеть.

#1205
15:19, 16 окт 2009

San
>почему поинтер? Attribute/Uniform location это GLint.
я когда набирал, у кого-то скопировал и поменял uniforn на GLuint, звездочку убрать забыл...

> это уже намного более гибкий и безопасный хардкод. За такой уже не бьют :))
я посмотрю на тебя, когда вдруг в шейдере new станет ненужен, как будешь искать/менять/удалять и тп... а так убрал объявление переменной и получил все места где она используется, тем более тебе в любом случае надо будет помнить какую либо строку, неважно будет это имя переменной или сама строка...

// вспомнил себя когда эффект "show" поменяли на "onshow"...

#1206
17:04, 16 окт 2009

Pushkoff
> manager->SetUniform(name, value);
а вот так?
Нафига вообще помнить имена переменных шейдеров?

#1207
17:05, 16 окт 2009

не, ну жесть! :)  я хотя бы по теме флеймил :)

#1208
17:07, 16 окт 2009

Давайте может откроем новую тему про ID3DXEffect и все схожие конструкции ?

#1209
17:09, 16 окт 2009

Nikopol
> Давайте может откроем новую тему про ID3DXEffect и все схожие конструкции ?

Всё начилось с http://www.gamedev.ru/flame/forum/?id=85560&page=79#m1183
Есть тут один любитель передавать константы за 1 вызов :)

#1210
19:21, 16 окт 2009

есть вопрос по теме

есть такой код

std::istream &inStream = ...

inStream >> std::ios::binary;

что изменить чтоб снова заработало?? сейчас оно не компилится, но когда-то давно (VC6.0) компилилось...

#1211
21:43, 16 окт 2009

Pushkoff
попробуй так.

 std::ios_base::binary

Опять тормозные потоки.

#1212
22:30, 16 окт 2009

Andrey
> Опять тормозные потоки.

опять пытаются на реактивном самолёте перелететь на соседнюю улицу :)

#1213
20:58, 17 окт 2009

Andrey
не помогло...

#1214
0:50, 18 окт 2009

Pushkoff
что за ошибка кстати?
ожет в  MSDN глянуть

Страницы: 177 78 79 80 81 82 Следующая »
ФлеймФорумПрограммирование

Тема в архиве.

Тема закрыта.