|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
29.03.2011, 11:41 | #1 |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
Тестируем 2D движёк.
Даже и не знаю, можно это движком называть или нет.
По сути набор функций-обёрток над DX9. Отдельно в библиотеку пока не выносил, ибо не уверен в работоспособности. Особенности - функции не используют интерфейсы Direct_a с префиксом X. Используются только IDirect3D9->IDirect3DDevice9 и его производные. -естественно, все функции написаны на асме. возможности: -отображение квадратных и прямоугольных картинок в заданных экранных координатах. Поддержка альфа канала (альфа канал грузится отдельно из gif, jpg, bmp файла, пока только так). -Загрузка объектов из внешних файлов, либо из ресурсов программы. -поворот изображения на произвольный угол -массштабирование изображения по осям X и Y с отдельными весовыми коэффициентами. -отображение рисованных шрифтов -отражение изображения сверху-вниз, слева-направо. -проигрывание анимаций в режимах - "по кругу", "№-ое количество раз", "№-ое количество мс". -анимации могут быть как однострочные, так и многострочные. -к анимациям применимы все перечисленные выше трансформации (масштабирование, поворот, отражение). - где-то в этой куче ещё торчит DirectInput c DirectSound-ом. Ну там функционала никакого нет, кроме инициализации. В архиве демка, вот собственно про неё я и хочу услышать отзывы. Работает, не работает. Как работает. Если не работает, то как не работает. В ранних версиях были заметны артефакты ввиде размазывания нижних частей картинок, но потом я это вроде победил. По кнопочке F1 можно включить\выключить альфу, фильтрацию текстур и установить период таймера рисовальщика. Внимание, архив содержит exe. Мой Авир молчит, но базы у него уже двухнеделешные.
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
29.03.2011, 12:51 | #2 |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
Ну, ничё, ништяк.
У меня выглядит так: Мой NOD32 тоже вирусов не видит. |
29.03.2011, 17:06 | #3 |
Пользователь
Регистрация: 20.02.2011
Сообщений: 21
|
Вирусов моя авира не увидела, понравилось сиё творение!!!!!!!!!!!!
|
29.03.2011, 22:56 | #4 | |
c++, dx/ogl
Форумчанин
Регистрация: 10.11.2008
Сообщений: 131
|
Цитата:
Все работает, глюков не заметил. Можно еще добавить альфа-блендинг ко всему прочему), для изображений которые изменяют свою прозрачность во времени.
“Batch, Batch, Batch:” What Does It Really Mean?
I am a donut! Ask not how many tris/batch, but rather how many batches/frame! |
|
30.03.2011, 10:34 | #5 | ||
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
Цитата:
Цитата:
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
||
30.03.2011, 18:23 | #6 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Это намек на поддержку графических форматов с альфа-каналом - png, tga.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
30.03.2011, 18:37 | #7 | |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
Цитата:
Вот вы меня с этим PNG прямо ловите постоянно, а чё, отдельный канал из gif-а прям вообще - фу, да?
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
|
30.03.2011, 21:11 | #8 | |
c++, dx/ogl
Форумчанин
Регистрация: 10.11.2008
Сообщений: 131
|
Цитата:
Просто в тесте я не увидел, плавно появляющегося и исчезающего грузовичка… Разлетающиеся искры допустим надо будет сделать от замкнувших проводов, или молота бьющего по наковальне… Частицы изменяют свою прозрачность… эта возможность уже держится твоим фреймворком?) Что-то типо: Вывести спрайт с уровнем прозрачности от 0-255))
“Batch, Batch, Batch:” What Does It Really Mean?
I am a donut! Ask not how many tris/batch, but rather how many batches/frame! |
|
31.03.2011, 17:07 | #9 | |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
Цитата:
Просто как я понял, директ может брать альфу из двух мест, либо из диффузной составляющей вершины, либо из альфа канала текстуры. А вот можно ли как-то между собой эти два источника замесить, я как то пока не нашёл. И если брать альфу из вершины, то тогда вся поверхность спрайта (вместе с подложкой) становится однородно прозрачной, а это совсем не тот эффект. Если же брать альфу из тектуры, то, для динамического изменения прозрачности, надо постоянно эту тектсуру лочить и пересчитывать в ней альфу. Это сделать несложно, просто я ситаю что это неправильно. У меня пока преобладает идеология статичной текстуры. Т.е. текстуру можно на этапе загрузке собирать и чего то там с ней делать, а на этапе цикла отрисовки, текстуру трогать уже нельзя. Ну вот, пока как-то так. Кстати, может кто подскажет, можно как то совместить два источника прозрачности - и вершину и текстуру? Тогда можно было бы общей прозрачностью рулить не трогая текстуру.
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
|
31.03.2011, 17:19 | #10 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Ulex, как бы так чтобы не обидеть, ...сейчас твой движок на уровне приставок 95-го года, ...необходимо научить его работать со спрайтами с поддержкой полного альфа-канала, ...не просто есть или нет, а с прозрачностью от 0 до 255, ...тогда можно реализовать не только лучи света, облака дыма, тени, но и обеспечить естественные очертания 2D объектов, ...сейчас это просто грубая аппликация.
Вот смотри, где спрайт лучше вписывается в игровое пространство? Alpha1.jpg Вот как распределяется альфа-канал по дискретным значениям (их 256, но все не влезет, показал выборочно): Alpha2.jpg ...таким способом реализуются исчезновения объектов, и вообще любые эффекты. Анимация вообще способствует "оживлению" объекта.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
движёк для 2D | Demi | Мультимедиа в Delphi | 28 | 25.04.2011 10:06 |