Kavis
Могу посоветовать гениальное решение. Люди кого мучал такой вопрос и которые уже сделали свой выбор меня поймут.
КИНЬ МОНЕТКУ!
false3d
>КИНЬ МОНЕТКУ!
он щас этой монеткой лоб расшибёт
>Читал я читал так и не стоит ли мне переходить с d3d8 на opengl или нет так как замучился я под d3d программировать.
Вообщем проблема с Вистой можешь выкинуть из головы. Посчитай, что для тебя лучше без неё. А учить надо и то и то. Мало ли где работать придёться.
прочитал весь thread...
не увидел ничего "страшного" для будущего opengl.
скорее наоборот.
все знают, как большинство издателей всяких shareware отрицательно относится к opengl.
для вас, шареварщиков, мелкософт решил эту проблему.
если я все правильно понял - теперь opengl будет работать даже без установки icd-драйвера, путем эмуляции через d3d.
что в этом плохого?
теперь можно смело заряжать начальству, что opengl будет всегда работать. :)
жаль только, что этого не сделают на win2k/xp.
т.к. врядли сильно много народа на висту пересядет, кроме толпы пост-советских геймеров..
waker
>т.к. врядли сильно много народа на висту пересядет, кроме толпы пост-советских геймеров
все пересядут, не верите?! ;)
Блин если opengl будет эмулироваться через d3d это будет уже не opengl, потому-что в d3d нету отдельной прорисовки треугольника, если в opengl можно по одному треугольнику рисовать то в d3d об этом только мечтать можно, и как же d3d при эмуляции opengl сможет это осуществить? Ответ никак, на то они и разные API!!!
(Хватит голову забивать пойду люнукс покупать!!!!)или(нафиг мне новая Vista чем XP плох или win98)
Kavis
если тебя действительно интересует этот вопрос (как нарисовать 1 треугольник через d3d) -- я могу тебе объяснить.
но, судя по твоему посту, ты не поймешь этого объяснения.
waker
:)
waker
Я знаю как нарисовать 1 треугольник через d3d уже два года на d3d программирую я имел ввиду что в opengl когда рисуешь динамический объекты очень леко отрисовывать через glBegin, так он очень шустро их отправляет в видюху, а теперь представь какие тормоза мы получим при использовани d3d надо залочить бувер изменить данные внем и т.д. да еще какая лажа в d3d в ограничении источников света позор да и только!!!!!!.
Но я думаю щас напишу что начел на directx, если с opengl будет в будущем все в порядке то лучше на него перейду, плюсов целая гора.
P.S. вот на opengl d3d можно влегкую сэмулировать, а что есть в d3d да только хваленый вершинный буфер, а в opengl много всего только лучше все неиспользовать а то не на всех картах пойдет
Kavis
>> а теперь представь какие тормоза мы получим при использовани d3d надо залочить бувер изменить данные внем и т.д.
если грамотно писать данные в динамический vb -- получим те же тормоза, которые имеются в opengl immediate mode.
>> P.S. вот на opengl d3d можно влегкую сэмулировать
сэмулируй на opengl ps1.4.
>>если грамотно писать данные в динамический vb -- получим те же тормоза, которые имеются в opengl immediate mode.
Да ну я пробовал лабуда все это на одно запирание буфера времени может уйти уйма времени, да и вообще может у меня объекты генерируются каждый раз с разным количесвом вершин, что мне заране буфер большой создавать и расходовать память в пустую.
waker
кстати говоря может подскажешь как создать статический вершинный буфер в видеопамяти без копии в оперативке а то все методы перепробовал (имеется в виду в d3d8)
Kavis
>> Да ну я пробовал лабуда все это на одно запирание буфера времени может уйти уйма времени, да и вообще может у меня объекты генерируются каждый раз с разным количесвом вершин, что мне заране буфер большой создавать и расходовать память в пустую.
а ты считаешь, что в opengl immediate mode сильно по-другому делается? :)
>> кстати говоря может подскажешь как создать статический вершинный буфер в видеопамяти без копии в оперативке а то все методы перепробовал (имеется в виду в d3d8)
сорри, не подскажу.
я давно не юзал d3d.. не помню просто.
вероятно, флаг STATIC и POOL=DEFAULT тебе помогут.
waker
А что сейчас юзаешь, или вообще 3d забросил?
кстати флага STATIC или что-то на него похожее у меня в заголовочных файлах отсутствует а D3DPOOL_DEFAULT не помогает
Kavis
>> А что сейчас юзаешь, или вообще 3d забросил?
linux
>> кстати флага STATIC или что-то на него похожее у меня в заголовочных файлах отсутствует а D3DPOOL_DEFAULT не помогает
ну я не знаю..
попробуй usage=D3DUSAGE_WRITEONLY, pool=D3DPOOL_DEFAULT
больше ничего не подскажу.
а как ты определяешь, что копия в системке остается?
Ну к примеру включаю диспетчер задач врубаю прогу свою и создаю в ней ландшафт например на 600000 треугольников память которую прога занимает в диспетчере задач 145 Mb (не знаю точно диспетчер только оперативку показывает или нет), а файл подкачки увеличивается с 200 до 400 Mb, файл подкачки уж точно не врет!!
>>попробуй usage=D3DUSAGE_WRITEONLY, pool=D3DPOOL_DEFAULT
если честно я все флаги наверно перепробовал которые в заголовочных файлах есть, может что - то нужно писать при создании устройства.
Тема в архиве.