2D&Directx8

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

Модератор: Mikle

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

2D&Directx8

Сообщение outrolab » 28.06.2010 (Пн) 18:09

С VB6 знаком около года. Ща потихоньку осваиваю директикс8(хочу сделать 2D игру). Сейчас мне надо узнать или чтоб скинули пример как сделать несколько буферов(слоёв) чтоб у каждого регулировалась прозрачность и отрисовка могла производиться выборочно. Пожалуйста ответте. Что-то слышал про zBuffering но разобраться не получилось.Помогите пожалуйста :cry: . Заранее спасибо.
У вас нет доступа для просмотра вложений в этом сообщении.
Кот очень классный

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

Re: 2D&Directx8

Сообщение Mikle » 28.06.2010 (Пн) 21:44

как сделать несколько буферов(слоёв) чтоб у каждого регулировалась прозрачность

Имеются ввиду спрайты? Самое простое - смотри D3DXSprite.
zBuffer в 2D не так уж и нужен.

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

Re: 2D&Directx8

Сообщение outrolab » 29.06.2010 (Вт) 0:32

Там в примерах нет того что надо. Там везде используется 1 буфер(слой). Для игры где реиндерится сначала фон а за тем по очереди на нём спрайты это может и сойдёт(каждый следующий спрайт поверх предидущего).Для моей это не сойдёт. У меня там эффекты будут которые должны быть на отдельном слое которые при последующей отрисовке не стирается типа шлейфы от ударов или вспышки при ранении( они рендерятся поверх отдельного спрайта и не должны стираться).
Кот очень классный

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

Re: 2D&Directx8

Сообщение Mikle » 29.06.2010 (Вт) 8:51

там эффекты будут которые должны быть на отдельном слое которые при последующей отрисовке не стирается

Так не делается. Если эффект должен "провисеть" несколько кадров, то спрайт с эффектом рендерят эти несколько кадров. Бэкбуфер, как правило, стирают и полностью перерисовывают в каждом кадре.

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

Re: 2D&Directx8

Сообщение outrolab » 29.06.2010 (Вт) 15:33

Скажите пожалуйста а можно реиндерить рисунок(эффект) на спрайте(если да то напишите как)?
Кот очень классный

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

Re: 2D&Directx8

Сообщение Mikle » 29.06.2010 (Вт) 16:08

Это называется "рендер в текстуру". В этом разделе были примеры.

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

Re: 2D&Directx8

Сообщение djalex777 » 29.06.2010 (Вт) 19:01

Либо самое простое - рендери спрайт с эффектом поверх спрайта-объекта

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

Re: 2D&Directx8

Сообщение outrolab » 29.06.2010 (Вт) 21:07

Как мне рисовать на текстуре пожалуйста скиньте пример(подругому не пойму :roll: ).
Кот очень классный

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

Re: 2D&Directx8

Сообщение djalex777 » 29.06.2010 (Вт) 21:53

Ай-ай-ай.. Тебе же майкл написал
Mikle писал(а): Mikle 29.06.2010 (Вт) 16:08
... В этом разделе были примеры.

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

Re: 2D&Directx8

Сообщение outrolab » 30.06.2010 (Ср) 18:47

Видел но там не понятно как это работает( Прошу скиньте пример с описанием :cry: ).
Кот очень классный

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

Re: 2D&Directx8

Сообщение outrolab » 01.07.2010 (Чт) 20:46

ПОМОГИТЕ. Как рендерить на текстуре? Не на surface а на texture. Напишите пожалуйста простенький код!
Кот очень классный

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

Re: 2D&Directx8

Сообщение Mikle » 02.07.2010 (Пт) 9:13

outrolab писал(а):Как рендерить на текстуре? Не на surface а на texture.

Рендерят только на surface (или в бэкбуфер, который тоже surface).
Когда говорят про рендер в текстуру, имеют ввиду рендер в её нулевой сурфейс. Если в текстуре не один мипуровень, то после этого нужно отфильтровать текстуру (в DX9 достаточно флага AutoGenMipMap).

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

Re: 2D&Directx8

Сообщение outrolab » 13.07.2010 (Вт) 10:16

А скажите пожалуйста можно присвоить текстуре бакбуфер если да, то как ?
Кот очень классный

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

Re: 2D&Directx8

Сообщение Mikle » 13.07.2010 (Вт) 10:59

Что значит:
outrolab писал(а): присвоить текстуре бакбуфер

Тот бэкбуфер, который создаётся при создании девайса, подставить в текстуру в качестве сурфейса нельзя. Делают по-другому - создают текстуру с флагом UsageRenderTarget, потом берут из неё нулевой сурфейс - GetSurfaceLevel, и направляют рендер в этот сурфейс - Device.SetRenderTarget.

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

Re: 2D&Directx8

Сообщение outrolab » 13.07.2010 (Вт) 21:10

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

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

Re: 2D&Directx8

Сообщение outrolab » 19.10.2010 (Вт) 18:05

Проблема: Как на Windows7 подключить к VB6 "Directx8 for Visual Basic Type Liblary" ?В интернете решений не нашел.
Пожалуйста ответте.
Кот очень классный

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

Re: 2D&Directx8

Сообщение Mikle » 20.10.2010 (Ср) 7:56

Выполнить от имени админа в командной строке:
regsvr32 диск:\путь\dx8vb.dll

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

Re: 2D&Directx8

Сообщение DirectXManiac » 20.10.2010 (Ср) 9:56

Mikle писал(а):Выполнить от имени админа в командной строке:
regsvr32 диск:\путь\dx8vb.dll


У меня в Windows 7 не было такой библы. Я качал с нета по имени dx8vb.dll
#define ROFL 0xDDDD

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

Re: 2D&Directx8

Сообщение Mikle » 20.10.2010 (Ср) 11:15

Само собой её там нет. Можно не качать, а выдрать её любого дистрибутива DirectX 8-9.
Но как подумаешь, что такая же проблема возникнет у пользователя твоей программы, сразу отпадает желание использовать DX8 на VB6. Я уже давно перекочевал на DX9, и того же всем советую.

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

Re: 2D&Directx8

Сообщение outrolab » 20.10.2010 (Ср) 13:48

Спасибо помогли
Кот очень классный

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

Re: 2D&Directx8

Сообщение DirectXManiac » 21.10.2010 (Чт) 10:17

Ну я тоже перешел на DirectX9 но ко всему прочему ещё и на C# :wink:
#define ROFL 0xDDDD

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

Re: 2D&Directx8

Сообщение Mikle » 21.10.2010 (Чт) 10:28

DirectXManiac
ManagedDX тоже со своими проблемами, и SlimDX, или ты из шарпа нативный DX заюзал?

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

Re: 2D&Directx8

Сообщение DirectXManiac » 21.10.2010 (Чт) 10:50

ManagedDX. Ну я планирую серьезную графику на XNA наверное писать, а пока для обыкновенных нужд и ManagedDX покатит)
Вообще не знаю что ещё юзать, может посоветуешь?
#define ROFL 0xDDDD

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

Re: 2D&Directx8

Сообщение FireFenix » 21.10.2010 (Чт) 11:30

DirectXManiac писал(а):ManagedDX. Ну я планирую серьезную графику на XNA наверное писать, а пока для обыкновенных нужд и ManagedDX покатит)
Вообще не знаю что ещё юзать, может посоветуешь?

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

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

Re: 2D&Directx8

Сообщение DirectXManiac » 21.10.2010 (Чт) 12:37

Для обыкновенных целей я юзаю Managed DX, если писать движок на шарпе под игры со шейдерами, что юзать?
#define ROFL 0xDDDD

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

Re: 2D&Directx8

Сообщение FireFenix » 21.10.2010 (Чт) 14:02

DirectXManiac писал(а):Для обыкновенных целей я юзаю Managed DX

Ну WPF - технология имеется в стандартном фреймворке (вроде начиная с 3.0), которая отрисовывает GUI (имеет свои контролы и аналоги WinForms) через DX с аппартным ускорением, позволяет моделить 2D/3D сцены, поддерживает шейдеры, использует язык разметки XAML для создания GUI
если писать движок на шарпе под игры со шейдерами, что юзать?

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

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

Re: 2D&Directx8

Сообщение DirectXManiac » 21.10.2010 (Чт) 14:48

Вот я давно думаю за XNA но пока не могу решится потому как изучать вообщем-то новый API, это время. Вот не знаю SlimDX или XNA, вообщем то мне хочется больше концентрироваться на ООП и логике нежели сильно мучаться с графикой как раньше, а готовые движки меня не устраивают так как убеждения не позволяют - там половина не нужного в этих движках.
#define ROFL 0xDDDD

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

Re: 2D&Directx8

Сообщение Mikle » 21.10.2010 (Чт) 14:52

DirectXManiac
Чем мне не нравятся MDX, XNA, SlimDX и прочие управляемые порты - это тем, что они требуют установки своего рантайма, который без админских прав не поставишь. Это затрудняет распространение игр, особенно казуалок.
FireFenix
Как у тебя дела с портированием нативного DX9 на NET?

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

Re: 2D&Directx8

Сообщение FireFenix » 21.10.2010 (Чт) 19:35

Mikle писал(а):Как у тебя дела с портированием нативного DX9 на NET?

Ну я давно ещё сделал основные интерфейсы и математику из d3d9x... Потом начал расширять до свап чайнов и шейдеров и на этом забросил и ещё хотел попутно делать мини тотуриальчики...
Потом работа привалила... когда опять начал было продолжать - вышел DX11, и что-то я подумал, что лучше пересесть под ДХ11 :) Т.к. ДХ11 подходит для всех карт, но разный фитче лист... Но пока это в мыслях и где-то на 1/3 законченный порт ДХ9 :)
Да и за всё время заброса, я собирал по инету исходники движков, чтобы собраться с силами и быть готовым идти в бой!

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

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

Re: 2D&Directx8

Сообщение FireFenix » 21.10.2010 (Чт) 21:01

Лазил по блогу мсдн и был приятно удивлён
For applications developed using the .NET framework, there is now a way to leverage the Windows 7 DirectX APIs (Direct3D10, Direct2D, DirectWrite, WIC and Direct3D 11) from your managed applications. The Windows API Code Pack is now available on MSDN.

Windows® API Code Pack for Microsoft® .NET Framework (идёт вместе с исходниками) Updated On: авг 31 2010

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

След.

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

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

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

    TopList