Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2007.09.16;
Скачать: [xml.tar.bz2];

Вниз

Создание движка игры   Найти похожие ветки 

 
netboy   (2006-03-31 01:46) [0]

Решил сделать 2D движок. Написал процедуры для работы с окном OpenGL. Надо сделать процедуры для работы со спрайтами.
Где можно достать материал по спрайтам (загрузкой, уничтожением, анимированием ...) в OpenGL ?


 
XProger ©   (2006-03-31 01:52) [1]

http://mirgames.ru


 
Mortem ©   (2006-03-31 02:55) [2]

http://reijii.mirg.ru


 
XProger ©   (2006-03-31 02:59) [3]

http://xproger.mirg.ru


 
Nic ©   (2006-03-31 07:21) [4]

http://worlds3d.mirg.ru


 
Nic ©   (2006-03-31 07:22) [5]

http://gamedev.ru


 
antonn ©   (2006-03-31 07:51) [6]

http://www.yandex.ru/


 
DR0N ©   (2006-03-31 10:29) [7]

http://dronprogs.mirgames.ru


 
Mortem ©   (2006-03-31 11:47) [8]

http://rambler.ru


 
Sphinx ©   (2006-03-31 11:51) [9]

Буга-га...повеселили =)
не буду отрываться от коллектива:
http://google.ru


 
antonn ©   (2006-03-31 11:54) [10]

http://www.koders.com/


 
Nic ©   (2006-03-31 13:51) [11]

http://worlds3d.narod.ru
http://nehe.gamedev.net
http://gamedev.net
http://delphigl.narod.ru
http://viv.fatal.ru
http://devmaster.net
http://delphi3d.net
http://delphigl.com
http://code.rpro.ru
http://sulaco.co.za
http://d3dengine.narod.ru
http://steps3d.narod.ru
http://dtf.ru
http://delphimaster.ru
http://opengl.org
http://microsoft.com


 
antonn ©   (2006-03-31 15:32) [12]

http://delphigfx.mastak.ru/


 
Mortem ©   (2006-03-31 17:31) [13]

http://code.darthman.com


 
RzCoDer ©   (2006-03-31 20:01) [14]

И только я догадаюсь спросить.А в OpenGL есть спрайты???


 
Nic ©   (2006-03-31 21:42) [15]


> RzCoDer ©   (31.03.06 20:01) [14]

Очень легко сделать.


 
Mortem ©   (2006-03-31 23:19) [16]


> RzCoDer ©   (31.03.06 20:01) [14]

Я-таки у вас сначала спршу сам:
1. Что, в вашем понимании, спрайты?
2. Что, в вашем понимании, OpenGL?

Когда ви-таки получите правильные ответы на эти вопросы, то неправильные вопросы не будут-таки кушать ваш мозг.


 
Darthman ©   (2006-03-31 23:49) [17]

http://code.rpro.ru уже давно не актуален, ввиду того, что владелец домена и сайта давно сменился, и там будет явно не то что вы ищите.


 
RzCoDer ©   (2006-04-01 17:47) [18]


> 1. Что, в вашем понимании, спрайты?
> 2. Что, в вашем понимании, OpenGL?


Если бы я задавал эти вопоросы, задавал бы их в другом порядке, ну да ладно.
1. В моём понимании спрайт в 2д это некий тип данных заключающий в себя информацию о размере его плоскости, текстуре. В добавок класс спрайта может содержать процедуры: создания, перемещения, уничтожения и т.п.; свойтва: угла наклона, скорости, прозрачности, ну и ещё некоторые в зависимости от игры и её автора. Хорошим примером спрайта я считаю класс спрайта из DelphiX.
2. OpenGL - графическое API. То есть код обеспечивающий взаимосвязь программы и апаратной части.

Хоть я и ответил на Ваши вопросы, тем не менее изначальный вопрос автора темы кажется мне двойственным, неправильным. Если автора интересует работа со спрайтом как с классом - структурой содержащей информацию, (а именно это он и сказал:

> Надо сделать процедуры для работы со спрайтами.

)
то ему надо обращатся не в эту конференцию. Если же его интересует вывод графики, то причём тут спрайты? Ему нужна общая теория по текстурированию плоскостей в OpenGL, так бы сразу и говорил

.


 
Mortem ©   (2006-04-01 18:47) [19]


> RzCoDer ©   (01.04.06 17:47) [18]

Извиняюсь, я несколько не правильно понял ваш пост [14]. ^___^

А вообще-то ему вполне в эту конфу. Т.к. спрайты так или иначе относятся к играм. Как и вывод графики. Так же как спрайты относятся к выводу графики.

Хотя с другой стороны - в конфе этому товарищу делать пока нечего - РАМБЛЕР для него сейчас более полезный ресурс.

P.S. По моему логично спрашивать именно в такой последовательности.


 
WillRock   (2006-09-27 11:56) [20]

Да спрайты это все фигня и лирика...
Это можно без проблем найти..
я лично нашел много подобной инфы менее чем за час..
Проблема в другом.
Я забыл, как в Delphi сделать кдассный ООП )))
Кто может, пожскажите, как реализовать классы TSprite и TSpriteEngine, который управляет всеми спрайтами...
Буду очень признателен


 
@!!ex ©   (2006-09-27 13:37) [21]

WillRock   (27.09.06 11:56) [20]

Пипец... По спрайтам инфы нашел дофига, а вот по ООП в дельфи нету...
Серьезно чтоли? :))


type
TSprite = class
 public
  Constructor Create();
end;

TSpriteEngine = class
 public
  Constructor Create();
end;


Никогда не видел такого? :))


 
Nic ©   (2006-09-27 22:11) [22]


> WillRock   (27.09.06 11:56) [20]

Тейксера и Пачеко рулят :)


 
@!!ex ©   (2006-09-27 23:23) [23]

Поздна ноченька..
Спать не хочется..
Нету повода не заморочится..



type
TSprite = class
 public
  Constructor Create(LifeTime,TextureID,FrameCount:integer);
  Procedure    Draw(x,y,z:GLFloat; cx,cy,cz:GLFloat; Frame:GLFloat);
end;

TSpriteArray = array[0..0] of TSprite;
PSpriteArray = ^TSpriteArray;

TSpriteEngine = class
 public
  Sprites:PSpriteArray
  SpritesCount:integer;

  Constructor Create;
  Procedure AddSprite(LifeTime,TextureID,FrameCount:integer);
  Procedure Update;
end;


Экспромт... буду рад адекватной критике.


 
@!!ex ©   (2006-09-27 23:24) [24]

Упс... Забыл задание координат перенести из отрисовки в конструктор спрайта....


 
Darth   (2006-10-02 01:03) [25]

TSpriteArray = array[0..0] of TSprite;
Жжешь! 1 спрайт это сильно для системы спрайтов.


 
Ketmar ©   (2006-10-02 01:08) [26]

>[25] Darth 2-Oct-2006, 01:03
>Жжешь! 1 спрайт это сильно для системы спрайтов.
тяжело не знать основ, правда?


 
Darth   (2006-10-02 02:10) [27]

Ketmar ©   (02.10.06 01:08) [26]
Видимо тяжело... Но не мне.


 
Ketmar ©   (2006-10-02 03:46) [28]

>[27] Darth 2-Oct-2006, 02:10
>Видимо тяжело... Но не мне.
да. тебе -- легко. и то правда: меньше знаешь -- крепче спишь...


 
@!!ex ©   (2006-10-02 07:02) [29]

>>Darth   (02.10.06 01:03) [25]
Объяняю.
В данном случае(как вы могли заметить) используется не массив, а указатель на массив.
Можно было сделать просто указатель на TSprite, но в этом случае обращение к N-ому элементу было бы геморным.
Указатель же на массив позволяет работать с данными как с обычным массивом.
Возможно это не лучший подход, но лучше я не знаю.
Буду рад, если подскажете.

P.S.
array of TSprite
Это не лучший подоход, это ИМХО отстоейнейший подход.


 
Ketmar ©   (2006-10-02 14:10) [30]

>[29] @!!ex(c) 2-Oct-2006, 07:02
оставь его в покое. он же сам признался, что ему легко не знать основы. зачем усложняешь людям жизнь?


 
@!!ex ©   (2006-10-02 14:47) [31]


> Ketmar ©   (02.10.06 14:10) [30]

Упс.. Неподумал... Каюсь.... Исправлюсь.


 
Cash ©   (2006-10-02 16:32) [32]

@!!ex ©   (02.10.06 07:02) [29]:
> Возможно это не лучший подход, но лучше я не знаю.
> Буду рад, если подскажете.


Мне вон TList нравится юзать, гы-гы-гы, но только не тот, что с Classes,
а тот, что я сам спаял. Чет он у меня при тех же операторах и конструкции
работает быстрее, чем стандартный. Структура на основе списка,
двусвязная, с добавлением и удалением в трех вариантах (FIFO,LIFO,
по индексу) и красивый и быстрый проход по индексам.


 
Ketmar ©   (2006-10-02 17:04) [33]

>[32] Cash(c) 2-Oct-2006, 16:32
>работает быстрее, чем стандартный.
код и бенчмарки в студию. %-)


 
Cash ©   (2006-10-02 17:42) [34]

С кодом обломаю, по жесткому :))) я жадный, до жути! :)))
А на счет тестов - 10 млн. добавлений и засекаем время. :)
Сперва там, потом тут, засекал по RDTSC, на преиод работы родного листа
проявлялась аномалия активности, мож конечно и другие процессы с
завидной постоянственностью начинали грузить камень, но я склонился к
тому, что это родной лист тратит драгоценное время. Там разница на
1024 добавлениях была всего в ~10%, то же самое и для удалений, а при
проходе по индексам мой лист тратил на переход к соседниму индексу
около 78-80% от времени родного листа.


 
@!!ex ©   (2006-10-02 17:48) [35]

Cash ©   (02.10.06 16:32) [32]
Было бы интересно посмотреть.
Про то как реализован список в дельфе ничего сказать не могу, стараюсь не пользоватся стандартными классами, поскольку приходится менять язык порграммирования часто и не хочется привыкать к каким то классам, которые есть только в конкретном языке или реализации.

1) Было бы интересно посмотреть на код
2) не вижу смысла в двухсвязном списке. Поскольку итерации в данном случае идут только  в одноу сторону. удаление? В данном случае односвязный список работает отлично.
3) Список всегда работает медленнее чем вектор лежащей в одном кусе памяти, поскольку на одну меньше операция обращения к памяти. Хотя, конечно, разница в скорости минимальная и зависит от конкретной реализации.
4) Единственный минус вектора - перемещение памяти при изменении его размеров, лист по понятным причинам от такой проблемы избавлен.
Но есть способы серьезно уменьшить затраты вектора на выделение памяти, поэтому преимущества листа сомнительны.


 
Ketmar ©   (2006-10-02 17:49) [36]

"нет ручек -- нет и шоколадки" (ц)
пока нет кода -- всё это не более, чем трепёж в лунную ночь за пивком. %-)


 
Darth   (2006-10-02 17:54) [37]

Мда, чтоже вы такие жестокие-то? С чего Вы вообще взяли, что я весь из себя такой зелененький ?


 
Ketmar ©   (2006-10-02 17:58) [38]

"добренькие" живут на других форумах. а здесь народ зубастый -- за глупость запинает. не взирая на личности. за что я и люблю сей форум.


 
@!!ex ©   (2006-10-02 17:59) [39]


> Darth   (02.10.06 17:54) [37]

Да не жестокие.
Не парься.
Со всеми бывает.
Я тут пару раз ого-го как лоханулся. Ну и фиг с ним. Зато опыта и знаний набрался.


 
Ketmar ©   (2006-10-02 18:01) [40]

>[39] @!!ex(c) 2-Oct-2006, 17:59
>Я тут пару раз ого-го как лоханулся.
не ты один. %-) многие получали "прочистку". а я сколько раз... %-)


 
Cash ©   (2006-10-02 18:45) [41]

Ketmar ©   (02.10.06 17:49) [36]:
Блин, да не выпендриваюсь я, :( вырос уже!
Я дал теоретическое направление мысли, мне было набо организовать
лист, так, чтобы я смог и как стек его юзать и как очередь, и чтоб
траты на перемещение по индексам были минимальны. И после этапа
прагматики вышла вот такая монстра. :)
Мне было надо, я сделал. Если кому не надо, ну да чтож с ними поделать то?... :)
@!!ex спросил о методе, я дал наколку, и усё!


 
Ketmar ©   (2006-10-03 03:15) [42]

да мне, вообще-то, плевать, как оно там у тебя организовано. но без кода и бенчей -- ты уж извини, но все твои слова -- трындёж.


 
Ketmar ©   (2006-10-03 03:16) [43]

я понимаю, что сказать "я круче борланда" -- это рулкз. только неплохо бы доказывать. иначе -- см. [42]. %-)


 
Cash ©   (2006-10-03 08:01) [44]

Ketmar ©   (03.10.06 03:15) [42]:
Видать ты очень занятой человек. Я ж сказал, что не намерян выделяться и
говорить что либо подобное [43]. Мне не надо, чтоб кто либо верил, что
я "круче борланда". А еще мне не охота флудить эту ветку тупыми
разъяснениями. Так что я это балабольство закончу.
(ведь скажи же, я тупо изъясняюсь, тупо - значит так, чтобы и бабушка
на завалинке понять смогла)


 
Ketmar ©   (2006-10-03 12:20) [45]

слив защитан.


 
Belorus ©   (2006-10-07 16:15) [46]

Кетмар ты Тормоз. Человек описал метод в двух словах. Думаю если понадобится - объяснит подробнее. С чего это он вдруг тебе станет свои сырцы отдавать... Я бы тоже не дал. Нужно будет сам напишешь, была бы идея, а реализовать - дело простое.


 
@!!ex ©   (2006-10-07 16:24) [47]


> Belorus ©   (07.10.06 16:15) [46]

Типа идея двусвязного списка это что-то новое и сверхоригинальное?
Его вроде даже в ВУзах проходят.....


 
Cash ©   (2006-10-07 18:17) [48]

@!!ex ©   (07.10.06 16:24) [47]:
Блин, в ВУЗе бы не учился, я б этого не знал! (Хотя дело спорное, мож и знал бы)
В ВУЗах еще проходят методы Хаффмана и LZ кодирования. А реализовать
подобное, кроме лаб и курсовой, не получилось ни у кого.



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

Форум: "Игры";
Текущий архив: 2007.09.16;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.57 MB
Время: 0.069 c
2-1187658254
koha
2007-08-21 05:04
2007.09.16
Послать сообщение в Edit1.text


15-1187542819
Сатир
2007-08-19 21:00
2007.09.16
Прога редактирования mp3


11-1167917623
mixail_shar
2007-01-04 16:33
2007.09.16
Вопрос по KOL


15-1187705040
oldman
2007-08-21 18:04
2007.09.16
Хочу съездить в Финляндию...


9-1157787679
Viv
2006-09-09 11:41
2007.09.16
Ищу программку переводящую фонт в бмпшку...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский