Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.13;
Скачать: CL | DM;

Вниз

Загруз в PowerDraw   Найти похожие ветки 

 
Domowoi   (2004-12-08 23:55) [0]

Мля... Ну и лажа... Я разочарован PowerDraw... Да по скорости я конечно не спорю: DelphiX и в подметки не гоlится PowerDraw. Да но по сложности он намного тяжелее чем DelphiX( а все кричали не тяжелее!!!, не тяжелее!!!!) Если DelphiX я понял за пару часов (алгоритм), то в PowerDraw я нифига НЕ ПОНЯЛ !!! :(
P.S. Уже е**усь с ним  5!!! день и так и ничего не понял...
Люди киньте плиз или линки на исходники или на какие-нибудь доки на что нидбудь. Только киньте плиз!!!


 
Darthman ©   (2004-12-09 09:10) [1]

1) исходники идут в комплекте. Не один пример, кстати. РАзобраться по ним можно. Доки тоже в комплекте.
качайте и радуйтесь.


 
dRake   (2004-12-09 12:27) [2]

Мля ну напиши что непонятного!
Я с первого раза просек, как посмотрел на примеры.

Глянь пример, где просто выводится надпись PowerDraw - там все что надо есть. Или напиши на форум что не понял - все те растолкую....


 
TButton ©   (2004-12-09 17:24) [3]

re [2]
во. спрашиваю.
в дельфи-х.... был имадж лист, который позволял хранить анимированые спрайты и выводить нужный кадр анимации. в поваре дров с этим, как я понял, напряг. или я неправильно понял?


 
Darthman ©   (2004-12-09 17:55) [4]

VTDB вместо имаджлиста можешь использовать
Анимированные спрайты тоже не беда. При загрузке указываешь размер паттерна, а при отрисовке номер паттерна.


 
dRake   (2004-12-09 18:11) [5]

2 TButton

Неправильно понял ;)

В PD есть такая замечательная штука как паттерны.

Когда ты грузишь текстуру, там есть параметры PtWidth, PtHeight, TexWidth и TexHeight. Объясню нафига они нужны.

TexWidth, TexHeight - это размеры текстуры, в коророй будет храниться твоя картинка. Эти размеры обязательно должны быть степенями двойки (32, 64, 128...). Тоесть если твоя картинка например 425х234 то ее придется запихнуть в текстуру 512х256.

PatWidth, PatHeight - это размеры паттернов, тоесть кусков на которые будет резаться твоя картинка. Их размеры могут быть любыми (ну естесс-но не болше размера текстуры ;)
Вот для той картинки 425х234 в качестве размеров паттерна нужно бует указать именно ее реальные размеры - 425х234. Тоесть получится что твоя неформатная картинка будет лежать в правильной, но большей по размеру текстуре, а при отрисовке будет рисоваться только кусок, ограниченный PatWidth и PatHeight, тоесть то что нужно ;)

А теперь анимация.

Грузим нашу текстуру (256х64), в качестве TexWidth и TexHeight указываем 256 и 64 (все ок - размеры - степени двойки).
А вот в качестве PatWidth и PatHeight - укажем 64 и 64 (ведь кадр анимации - именно 64х64). Получится что текстура разобьется на 4 куска(паттерна) 64х64.

Теперь при выводе графики (у каждой функции отрисовки есть параметр Pat - это номер (начиная с 0) того паттерна, который необходимо отрисовать) будем указывать нужный нам параметр Pat, и будет отрисовываться нужный нам кадр анимации. Паттены индексируются слева направо, потом сверху вниз, тоесть как пиксели в картинке ;) Тоесть получается что все равно как расположить в картинке 16 кадров анимации - все 16 в ряд, или в 4 ряда по 4 кадра.

Вот и все =)


 
TButton ©   (2004-12-09 20:09) [6]

ну в принципе про паттерны я знал, просто не знал как это в поваре организовано.
а за хелп, естественно спасибо.


 
dRake   (2004-12-09 21:07) [7]

Так вроде еще как-то можно их задавать вручную.... Но я туда не копал, за ненадобностью ;) Пожалста :)


 
Красный молоток   (2004-12-09 21:19) [8]

TTexCoord рулит =)
Например, очень удобно хранить много маленьких картинок в одной большой текстуре. И при выводе просто указывать их текстурные координаты.


 
Красный молоток   (2004-12-09 21:20) [9]

TTexCoord рулит =)
Например, очень удобно хранить много маленьких картинок в одной большой текстуре. И при выводе просто указывать их текстурные координаты.


 
TButton ©   (2004-12-09 22:38) [10]


> TTexCoord

was est das?


 
TButton ©   (2004-12-10 00:41) [11]

еще вопрос.
вывод текста.
TPowerFont.

Font1.LoadFromFile("../../Fonts/TimesRoman.fnt", D3DFMT_A1R5G5B5);

первый параметр - имя файла
второй - TD3DFormat
а я в этих форматах нуль.
смотрел сырцы, ничего внятного на этот счет не нашел.


 
Darth   (2004-12-10 01:54) [12]

A1 - один бит на альфа канал
R5G5B5 соответственно красный синий и зеленый по 5 бит. Тоесть 16бит текстурка. Все просто.


 
TButton ©   (2004-12-10 03:08) [13]

ага...
а утилита FontRender стало быть в этом самом формате и рендерит. да? лллладно пока.


 
MeF Dei Corvi ©   (2004-12-10 09:54) [14]


> Например, очень удобно хранить много маленьких картинок
> в одной большой текстуре

При условии, что текстура не слишком большая. Чем больше текстура - тем больше тормозов. Иногда бывает лучше большое изображение разделить на несколько маленьких и выводить их поотдельности.


 
Ландграф Павел ©   (2004-12-10 09:54) [15]

гы-гы... ацтой потому что "я ничего не понял", ну ты крут Domowoi, сиди с delphix, он же классный!=))


 
dRake   (2004-12-10 13:32) [16]

2 TButton

Да забей ты на этот PowerFont
Шрифты отстойные получаются....
Лучше напиши свою рендерилку шрифтов.


 
Красный молоток   (2004-12-10 17:30) [17]

Я вот сделал свой шрифт и рад =)
Делал из-за того, что в TPowerFont нельзя динамически сделать шрифт


 
Красный молоток   (2004-12-10 17:33) [18]

Кроме PowerDraw рекомендую посмотреть DL-FX Дарза, в скором времени он станет гораздо круче чем PowerDraw, если Дарз его конечно не забросит =)


 
Darthman ©   (2004-12-10 18:45) [19]

Не брошу, будь уверен ;)
Вот на выходных фонтрендер доделаю :D


 
Domowoi   (2004-12-10 21:16) [20]

Крута! Втихаря разоьрался с алгоритмом!:) А как выводить рисунок с transparent color"om например белым? И здесь различные объекты допустим tplayer"ы создаются с помощью delphix? да?


 
dRake ©   (2004-12-10 23:38) [21]

С прозрачным цветом :

Image.LoadFromFileAlpha1Bit(D3DDevice, Path, pW, pH, tW, tH, Color);

Вот в качестве Color и пишешь свой прозрачный цвет

А при отрисовке в качестве эффекта используй effectSrcAlpha


 
Domowoi   (2004-12-11 01:38) [22]

Ну хорошо это я понял, а как быть с различными объектами допустим tplayer,tenemy как это в powerdraw осуществляется как? А, еще как здесь сделать карту или что-то другое? Так же как и в delphiX?


 
TButton ©   (2004-12-11 06:06) [23]


> Ну хорошо это я понял, а как быть с различными объектами
> допустим tplayer,tenemy как это в powerdraw осуществляется
> как? А, еще как здесь сделать карту или что-то другое? Так
> же как и в delphiX?

ручками, уважаемый, ручками.
напрасно вы подсели на этот придурошный TDXSpriteEngine


 
Domowoi   (2004-12-11 12:07) [24]

т.е. как ручками? вообще как это создается?


 
dRake ©   (2004-12-11 16:33) [25]

>т.е. как ручками? вообще как это создается?

Ну блин это база. Копай в инете. PD - это только отрисовка графики. Всю архитектуру нужно делать самому.


 
TButton ©   (2004-12-11 19:01) [26]

а вы по копайтесь в сырцах ого самого SpriteEngine
по читайте как устроен TSprite
про анализируйте
создайте свой клас


 
Красный молоток   (2004-12-11 20:14) [27]

С содроганием вспоминаю TSpriteEngine


 
Domowoi   (2004-12-11 20:44) [28]

То есть не нужно там какие-либо компоненты кидать на форму, а нужно просто все абсолютно кодить? Я правильно понял?


 
dRake ©   (2004-12-12 00:15) [29]

>То есть не нужно там какие-либо компоненты кидать на форму, а >нужно просто все абсолютно кодить? Я правильно понял?

Совершенно верно, ибо это и весть единственно правильный путь.


 
TButton ©   (2004-12-12 02:14) [30]


> То есть не нужно там какие-либо компоненты кидать на форму,
> а нужно просто все абсолютно кодить? Я правильно понял?

он прозрел!
ему открылась истина!
виват Домовой!


 
Domowoi   (2004-12-13 13:21) [31]

А где можно подробнее узнать про это создание ручками?


 
Красный молоток   (2004-12-13 14:52) [32]

Про то, что должен содержать игровой движок, можно взять из DelphiX, но затачивать под определенную игру.


 
Красный молоток   (2004-12-13 14:52) [33]

То, что должен содержать игровой движок, можно взять из DelphiX, но затачивать под определенную игру.



Страницы: 1 вся ветка

Текущий архив: 2005.03.13;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.032 c
3-1106895363
Бульбаш
2005-01-28 09:56
2005.03.13
Сохранение текущего значения при работе с кэшем


14-1108885148
__max__
2005-02-20 10:39
2005.03.13
Шифрование файлов в ф.с. NTFS


1-1109184659
tUUm
2005-02-23 21:50
2005.03.13
Сервис запускается но неработает.


1-1109427972
-_-
2005-02-26 17:26
2005.03.13
Проблема с Delphi 2005 Architect


4-1105649578
Scained
2005-01-13 23:52
2005.03.13
Как перевести Ring3 в Ring0