SharewareФорум

На какую версию DirectX вы ориентируетесь?

#0
0:13, 31 авг 2007

Собсна сабж, хотелось бы послушать мнения людей продающих шаровары :)

Когда я брался за портирование движка с OpenGL на Direct3D, я неасилил Direct3D 7 :) Причиной стало тому лень и нудные поиски нужного куска инициализации поверх DirectDraw(сей API знаю довольно хорошо). А т.к. до этого был немного ознакомлен с общими принципами Direct3D 9, то решил портировать все на 8 версию, ибо она схожа с девяткой. Сейчас движок вполне стабильно пашет на интегрированном видео, хотя всякое чудо аля Voodo и пр. раритет испробывать неудалось, да и под свистой не запускал ничего... Так вот меня интересует есть ли смысл взятся за даунгрейд движка до Direct3D версии 7?(просто нужный материал случаем подкинули :))

ЗЫ: есть еще один вопросец, у кого есть точные данные о том какие размеры текстуры минимальны на сегодняшнипй день для казуалов? Про Voodo можно не говорить, вкурсе что 256 предел ) Меня интересует средний показатель :) Хотя сомневаюсь что кто-то такими данными обладает... вообещм лучше тогда скажите какие размеры используете вы, или лучше внедрить в движок систему которая будет дробить текстуры и автоматически рисовать их кусочками?

#1
0:32, 31 авг 2007

Andru
Последнее предложение правильный ход.
Про версию, думаю что 8.1 самое оно.

#2
1:13, 31 авг 2007

Zeratul
Внедрять такую систему оданко "тяжко" будет, но попробую :) Но есть вопросец - какие движки такое поддерживают?

#3
1:39, 31 авг 2007

Andru
Если честно не в курсе. Но такая система будет гарантировать что на всем будет идти, от вуду, до последних. Бей на куски
в соответствии с возможностями видюхи. так будет оптимально. Ну и плюс смотри non pow2 textures. Авось кому то повезет и чуть быстрее будет работать :)

#4
1:39, 31 авг 2007

Andru
А в чем собсна тяжесть то ?

#5
1:54, 31 авг 2007

Zeratul
В двигле хватает функций которые рисуют спрайтеги по разному :) Тобишь идет шаманство вокруг текстурных координат, если же дробить текстуры автоматически и засовывать в связанный списки, то потом при отрисовке надо будет голову сломать чтоб заставить работать все как надо(выдирать кадры не из одной текстуры, а из 4 допустим, потом - вырезать прямоугольник не из одной текстуры - а собирать уже 4 и куча мелочей где вообщем-то придется долго над алгоритмами посидеть). Поэтому хотелось бы надеятся что текстурки 1024х1024 поддерживаются у многих :) Но если подходить с другой стороны... то я сомневаюсь что на всяких вуду и пр. игра с большим количеством бленда(эффекты, тени и т.д.) будет выдавать приличный фпс.

ЗЫ: ммм, "про нон повер оф ту" непонял, оно ведь кажись овтечает не за максимальный размер, а за некратность двойке :) Эту проблему давно решил, у текстуры "просто" канва растягивается, и используются новые текстурные координаты которые вырезают только саму картинку(обрезая добавленные пустые участки)

#6
9:46, 31 авг 2007

Andru
http://relishgames.com/forum/viewtopic.php?t=744
вот посмотри, это конечно, заточено под hge, но помнится когда я его смотрел там был класс BigTexture c функцией нужной тебе.
может сможешь подчерпнуть там чего-нить =)

#7
12:39, 31 авг 2007

Andru
Нет, ну я имел ввиду что вообще нееффективно вырезать кусочки, если не через текстурные координаты.
Но, в целом большие текстуры могут подпортить тем у кого кривые дрова к примеру, какие нить дефолтные которые только 512 держут, и т.д.
А хранить то разбитые куски просто в одном класе, который будет и выводить их. Прошелся циклом и все на екране. :)

Про двойку я про то что разбивать не прийдется, и возможно! будет немного быстрее :)

#8
14:07, 24 окт 2007

На сколько я знаю PopCap разбивает большие текстуры на куски, а также выравнивает их по степени двойки.
Весь геморой по выводу таких текстур он берет на себя

SharewareФорум

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