2D&Directx8

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Re: 2D&Directx8

Сообщение DirectXManiac » 21.10.2010 (Чт) 22:04

FireFenix
Интересная ссылочка. Скачал, завтра гляну, может че интересное найду
Mikle
Согласен с тобой полностью. Так накладно что вроде Framework есть, а ещё таскать библы для DX с собой. Не тру :(

В результате я окончательно запутался, может двиг все таки на С++ писать и вязать с шарпом? реализуемо? тем более есть много наработок на сях
#define ROFL 0xDDDD

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: 2D&Directx8

Сообщение FireFenix » 21.10.2010 (Чт) 22:39

DirectXManiac писал(а):FireFenix
Интересная ссылочка. Скачал, завтра гляну, может че интересное найду

Исходнички оказались на C++\CLI
Осталось выяснить, что быстрее C++\CLI обёртка или PInvoke...
Всё таки P/Invoke иногда медленнее... http://msdn.microsoft.com/ru-ru/library/ky8kkddw.aspx

DirectXManiac писал(а):Mikle
Согласен с тобой полностью. Так накладно что вроде Framework есть, а ещё таскать библы для DX с собой. Не тру :(

На самом деле это не беда... Вон игрушки с собой целый ДХ таскают и ничего :) (недавно скаченный Lost Planet 2 на двд, ещё с собой тащил дрова на вияху, физикс и что-то ещё :D )
Панацея существует! ILMerge

DirectXManiac писал(а):В результате я окончательно запутался, может двиг все таки на С++ писать и вязать с шарпом? реализуемо? тем более есть много наработок на сях

Обычно критические секции, как физика и убер логика выносится как отдельные либы, а сам двиг перебирается где ему удобнее и удобнее использование ООП
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Re: 2D&Directx8

Сообщение DirectXManiac » 22.10.2010 (Пт) 9:55

Все таки наверное стоит вынести основные функции в dll на С++. Думаю будет и проще и быстрее работать :) Вообщем остается только начать))
#define ROFL 0xDDDD

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4147
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: 2D&Directx8

Сообщение Mikle » 22.10.2010 (Пт) 10:37

DirectXManiac писал(а):может двиг все таки на С++ писать и вязать с шарпом?

Я бы не стал.
DirectXManiac писал(а):Все таки наверное стоит вынести основные функции в dll на С++. Думаю будет и проще и быстрее работать

FireFenix писал(а):Обычно критические секции, как физика и убер логика выносится как отдельные либы, а сам двиг перебирается где ему удобнее и удобнее использование ООП

+1
Я тоже к этому пришёл.
Для верхнего уровня меня пока устраивает VB6, как WinXP окончательно помрёт - заменю его на vb.net, тогда же и буду присматриваться к DX10-11 (12?).
FireFenix писал(а):хотел попутно делать мини тотуриальчики...

Было бы отлично.
FireFenix писал(а):где-то на 1/3 законченный порт ДХ9

А не было мысли автоматизировать процесс? Я, когда писал dx_vb, добравшись до математики и увидев более сотни ф-ций, из которых нужны ВСЕ, опустил руки. Это целый день писать, а потом неизвестно сколько отлавливать баги. Тогда я за два часа сделал парсер, которому скормил .h файл, а на выходе поимел .cpp с экспортируемыми ф-циями, .def с их списком и .bas с декларациями.

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: 2D&Directx8

Сообщение FireFenix » 23.10.2010 (Сб) 12:30

Mikle писал(а):
FireFenix писал(а):Обычно критические секции, как физика и убер логика выносится как отдельные либы, а сам двиг перебирается где ему удобнее и удобнее использование ООП

+1
Я тоже к этому пришёл.
Для верхнего уровня меня пока устраивает VB6, как WinXP окончательно помрёт - заменю его на vb.net, тогда же и буду присматриваться к DX10-11 (12?).

Моя мечта - полностью перевести на VB :) Математика .NET не сильно отстаёт от нативной, так что дуамю всё возможно...

Mikle писал(а):
FireFenix писал(а):где-то на 1/3 законченный порт ДХ9

А не было мысли автоматизировать процесс? Я, когда писал dx_vb, добравшись до математики и увидев более сотни ф-ций, из которых нужны ВСЕ, опустил руки. Это целый день писать, а потом неизвестно сколько отлавливать баги. Тогда я за два часа сделал парсер, которому скормил .h файл, а на выходе поимел .cpp с экспортируемыми ф-циями, .def с их списком и .bas с декларациями.

Ну тут ещё нада учитывать особенности маршалинга, а я его знаю не досконально :) Вот и приходилось экспериментировать вручную + ставил тесты .NET vs C++

Mikle
Я помню ты как-то искал исходники dx8vb.dll... Нашёл? Меня тоже заинтересовал этот вопрос :)
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4147
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: 2D&Directx8

Сообщение Mikle » 23.10.2010 (Сб) 14:03

Не нашёл.

outrolab
Новичок
Новичок
Аватара пользователя
 
Сообщения: 41
Зарегистрирован: 27.05.2009 (Ср) 22:42

Re: 2D&Directx8

Сообщение outrolab » 23.10.2010 (Сб) 21:54

Касаемо Директикса8 на семерке, проще всего не регить длл а выдрать установку dx8 из какой либо старенькой игрушки (выдрал из Oni) :cheese:
Кот очень классный

outrolab
Новичок
Новичок
Аватара пользователя
 
Сообщения: 41
Зарегистрирован: 27.05.2009 (Ср) 22:42

Re: 2D&Directx8

Сообщение outrolab » 23.10.2010 (Сб) 22:01

Ща выложу своей проект. Настоятельно рекомендую посмотреть. :eye:
Кот очень классный

outrolab
Новичок
Новичок
Аватара пользователя
 
Сообщения: 41
Зарегистрирован: 27.05.2009 (Ср) 22:42

Re: 2D&Directx8

Сообщение outrolab » 23.10.2010 (Сб) 22:09

Кот очень классный

djalex777
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 23.03.2006 (Чт) 16:02

Re: 2D&Directx8

Сообщение djalex777 » 24.10.2010 (Вс) 18:32

Это ужасно...

lellel
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 207
Зарегистрирован: 19.12.2007 (Ср) 22:07
Откуда: Долгопрудный

Re: 2D&Directx8

Сообщение lellel » 24.10.2010 (Вс) 18:52

outrolab писал(а): :eye:

видимо кто-то уже оценил...

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: 2D&Directx8

Сообщение FireFenix » 24.10.2010 (Вс) 19:28

outrolab писал(а):Ща выложу своей проект. Настоятельно рекомендую посмотреть. :eye:

Жесть, привязывать ещё Флеш... Лучше повеситься
Да ещё весит под 20 метров унылый проект...
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

outrolab
Новичок
Новичок
Аватара пользователя
 
Сообщения: 41
Зарегистрирован: 27.05.2009 (Ср) 22:42

Re: 2D&Directx8

Сообщение outrolab » 25.10.2010 (Пн) 0:44

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

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: 2D&Directx8

Сообщение iGrok » 25.10.2010 (Пн) 0:56

outrolab писал(а):диплома програмиста

Готов поспорить, что как минимум у 80% старожилов форума его тоже нет.
label:
cli
jmp label

outrolab
Новичок
Новичок
Аватара пользователя
 
Сообщения: 41
Зарегистрирован: 27.05.2009 (Ср) 22:42

Re: 2D&Directx8

Сообщение outrolab » 25.10.2010 (Пн) 15:28

Напишите мне пожалуйста код для VB6 DX8 как напрвить рендер в текстуру и как у текстуры изменить прозрачность.Мне очень надо.
Кот очень классный

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4147
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: 2D&Directx8

Сообщение Mikle » 25.10.2010 (Пн) 15:44

Рендер в текстуру ищи по форуму - примеры были. А прозрачность у текстуры менять - это перезаписать её альфаканал, это неудобно и неправильно, для этого меняют прозрачность материала или текстур-фактора и используют эту альфу с цветом из текстуры. Для этого нужно понять, как работает SetTextureStageState, почитай кнмгу в прилепленной теме:
viewtopic.php?f=6&t=34270
Там всё это есть.

outrolab
Новичок
Новичок
Аватара пользователя
 
Сообщения: 41
Зарегистрирован: 27.05.2009 (Ср) 22:42

Re: 2D&Directx8

Сообщение outrolab » 25.10.2010 (Пн) 21:32

Нету там того что надо ну нету и все и книжку смотрел там тоже нету я б не писал еслиб нашел
Кот очень классный

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4147
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: 2D&Directx8

Сообщение Mikle » 25.10.2010 (Пн) 22:03

Код: Выделить всё
  'Включаем ALPHABLEND
  d3dDevice.SetRenderState D3DRS_ALPHABLENDENABLE, 1
  d3dDevice.SetRenderState D3DRS_SRCBLEND, D3DBLEND_SRCALPHA
  d3dDevice.SetRenderState D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA

  '&H80000000 - полупрозрачность (0 - полная прозрачность, &HFF000000 - полная непрозрачность)
  d3dDevice.SetRenderState D3DRS_TEXTUREFACTOR, &H80000000

  'Настраиваем текстурирование
  d3dDevice.SetTextureStageState 0, D3DTSS_COLOROP, D3DTOP_SELECTARG1
  d3dDevice.SetTextureStageState 0, D3DTSS_COLORARG1, D3DTA_TEXTURE
  d3dDevice.SetTextureStageState 0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1
  d3dDevice.SetTextureStageState 0, D3DTSS_ALPHAARG1, D3DTA_TFACTOR

outrolab
Новичок
Новичок
Аватара пользователя
 
Сообщения: 41
Зарегистрирован: 27.05.2009 (Ср) 22:42

Re: 2D&Directx8

Сообщение outrolab » 26.10.2010 (Вт) 17:32

Еще плз напишите код как напрвить рендер в текстуру(surface)
Кот очень классный

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4147
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: 2D&Directx8

Сообщение Mikle » 26.10.2010 (Вт) 22:08

Рендер в текстуру:
У вас нет доступа для просмотра вложений в этом сообщении.

outrolab
Новичок
Новичок
Аватара пользователя
 
Сообщения: 41
Зарегистрирован: 27.05.2009 (Ср) 22:42

Re: 2D&Directx8

Сообщение outrolab » 28.10.2010 (Чт) 14:56

Это 3D а мне надо 2D. Нечто похожее я видел на форуме.(RenderTarget это для 3D а не для спрайта)
Кот очень классный

DODge
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 126
Зарегистрирован: 30.07.2006 (Вс) 0:25
Откуда: Нижний Новгород

Re: 2D&Directx8

Сообщение DODge » 28.10.2010 (Чт) 15:50

outrolab писал(а):Это 3D а мне надо 2D. Нечто похожее я видел на форуме.(RenderTarget это для 3D а не для спрайта)

Уже давненько слежу за темой и меня всё сильнее пробирает удивление над этим персонажем...

Ты ж наверное для отрисовки спрайта используешь какую-то текстуру? Ну так подставь под неё тесктуру из примера с названием "Tex2". А в неё перед этим рисуй своё 2D.
CPU = Intel Core i5 6500 @ 3.2 GHz
VGA = GeForce GTX 650Ti 2Gb
RAM = 8 ГБ DDR4 @ 2133 MHz
OS = Windows 10 Pro 64-bit
IDE = Microsoft Visual Studio Community 2017 (Visual Basic.NET)
GAPI = SharpDX 9 + 12

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Re: 2D&Directx8

Сообщение DirectXManiac » 31.10.2010 (Вс) 15:23

outrolab
Я фшоке! Почему бы тебе на открыть MSDN, книгу Mikle, хелп по DirectX хотя бы, а если не знаешь английского с переводчиком? Просто задавать вопросы вроде:
Ребята напишите пожалуйста игру, и чтобы мое имя было в титрах.

Поначалу тяжело конечно разбираться, но с таким подходом ничего понять невозможно!
#define ROFL 0xDDDD

outrolab
Новичок
Новичок
Аватара пользователя
 
Сообщения: 41
Зарегистрирован: 27.05.2009 (Ср) 22:42

Re: 2D&Directx8

Сообщение outrolab » 02.11.2010 (Вт) 16:54

Скажите как можно узнать размер текстуры загруженной из файла? Если да то как?
Кот очень классный

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Re: 2D&Directx8

Сообщение DirectXManiac » 02.11.2010 (Вт) 17:11

Получить описание уровня.
Код: Выделить всё
Dim tex As Direct3DTexture8
//Создаешь текстуру из файла...
...
Dim d AS D3DSURFACE_DESC
d = tex.GetLevelDesc(0)
//Используешь d.Width и d.Height


Там много полезного. Посоветую www.google.com все знает. Нашел за 2 минуты :wink:
#define ROFL 0xDDDD

outrolab
Новичок
Новичок
Аватара пользователя
 
Сообщения: 41
Зарегистрирован: 27.05.2009 (Ср) 22:42

Re: 2D&Directx8

Сообщение outrolab » 02.11.2010 (Вт) 23:32

Пасибо большое
Кот очень классный

outrolab
Новичок
Новичок
Аватара пользователя
 
Сообщения: 41
Зарегистрирован: 27.05.2009 (Ср) 22:42

Re: 2D&Directx8

Сообщение outrolab » 03.11.2010 (Ср) 14:47

Dim tex As Direct3DTexture8
//Создаешь текстуру из файла...
...
Dim d AS D3DSURFACE_DESC
tex.GetLevelDesc(0, d) 'так работает
//Используешь d.Width и d.Height
Кот очень классный

outrolab
Новичок
Новичок
Аватара пользователя
 
Сообщения: 41
Зарегистрирован: 27.05.2009 (Ср) 22:42

Re: 2D&Directx8

Сообщение outrolab » 03.11.2010 (Ср) 15:02

С рендером в текстуру мне не удалось разобраться. Мне надо записать то что мы отрендерили на буфере в текстуру, чтобы потом эту текстуру можно было отрендерить на этом буфере.(2D)
Кот очень классный

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Re: 2D&Directx8

Сообщение DirectXManiac » 03.11.2010 (Ср) 16:14

Объясни нормально что ты хочешь сделать. А то:
Отрисовать буфер в текстуру а текстуру в буфер (2D)

бессмыслица. Зачем тогда текстура?
#define ROFL 0xDDDD

outrolab
Новичок
Новичок
Аватара пользователя
 
Сообщения: 41
Зарегистрирован: 27.05.2009 (Ср) 22:42

Re: 2D&Directx8

Сообщение outrolab » 03.11.2010 (Ср) 18:41

Мне нужно изображение которое рендрится на буфере засунуть в картинку(текстуру).
Кот очень классный

Пред.След.

Вернуться в Мультимедиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8

    TopList