ria pc game
fle game engine - движок для создания игр
fle game engine - движок для создания игр


Balls and holes PC game / Balls and Holes PC игра
Вакансии
Игродельня
Сегодня
21 марта 2019 15:19
Вход Регистрация Забыли пароль ?

megainformatic - Уроки Photoshop - Чудеса
             
подробнее...

Теги создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт
Статьи сайта
Новогодняя дискотека 2013 на megainformatic точка ru

megainformatic - Программируем на C++ с использованием MFC

megainformatic - Программируем на C++ с использованием MFC - Создание MFC приложения

megainformatic - Программируем на C++ с использованием MFC - Создание MFC приложения - hello, world !

megainformatic - Как создать игру ? - Пишем игровой движок с нуля

megainformatic - Как создать игру ? - Пишем игровой движок с нуля - Вступление

megainformatic - Как создать игру ? - Пишем игровой движок с нуля - Общая структура будущего игрового движка

Разное

megainformatic - Как создать игру ? - Пишем игровой движок с нуля - DXUTMainLoop - цикл работы DirectX-приложения

megainformatic - Варианты макетов Психолог 911

megainformatic - Шаблоны для сайтов - что это и какие они бывают ?

megainformatic - Ива Ден энд КуХа - КОДЕКС ФРИЛАНСЕРА - Глава 3 - Кто он ? (who is ?)

megainformatic - Мои Музыкальные Миры - готовая музыка mp3 - новинки 2013 года

megainformatic - Теория и практика хакерских атак - самозащита от нападения

megainformatic - Теория и практика хакерских атак - самозащита от нападения - Способы подмены реального IP

megainformatic - Fruity Loops Studio 9 - Как синтезировать свои сэмплы - изучаем возможности плагина Sytrus

megainformatic - Видоизменяем тему для Wordpress под свои нужды

megainformatic - Flash приложения и игры - Шаг 3 - управляемый шарик

megainformatic - Учимся создавать флеш-игры, что нужно знать для того, чтобы заняться созданием flash приложений и игр ?

megainformatic - Шаг 4 в освоении Flash-технологий - как анимировать персонажа и управлять им

megainformatic - Форма для смены шаблонов сайта. Модуль template selector

megainformatic - megainformatic cms express files + module slider

megainformatic - Создание сайта бесплатно или под заказ

megainformatic - Как создать flash баннер

megainformatic - Разработка flash-приложения для сайта: онлайн примерочная

megainformatic - Мои впечатления о книге - Владислав Крапивин - Журавленок и Молнии

megainformatic - Модуль отзывов/комментариев для вашего сайта

megainformatic - Модуль отзывов/комментариев для вашего сайта

megainformatic - Модуль отзывов/комментариев для вашего сайта

megainformatic - Модуль короткие ссылки short link

megainformatic - Работа с сокетами fsocket из php

megainformatic - Как создать игру Создание игровых панелей и индикаторов

megainformatic - Приключения Кости Коробкина - Как я провел лето - интерактивный комикс

megainformatic - Приключения Кости Коробкина - Как я провел лето - интерактивный комикс

megainformatic - Приключения Кости Коробкина - С новым годом - интерактивный комикс

megainformatic - Система управления сайтом на php - megainformatic cms admin files

megainformatic - обзор антивирусных средств защиты

megainformatic - как работает антивирус ?

megainformatic - Создание сайта для бизнеса

megainformatic - Новый взгляд на очевидные вещи

megainformatic - Разработка программ на c++

megainformatic - Немного о музыке

megainformatic - GET и POST запросы

megainformatic - для чего нужна карта сайта

megainformatic - Web Администрирование

megainformatic - Мысли о разном

megainformatic - Легко ли быть программистом

megainformatic - Глубины программирования на C++

megainformatic - Убираем лимит на размер импортируемого файла в PhpMyAdmin

megainformatic - Как создать torrent файл

megainformatic - Нужна ли валидация вашему сайту ?

megainformatic - Антивирус DrWeb

megainformatic - Калькулятор рассчёта стоимости зубопротезирования для стоматологической клиники

megainformatic - Что такое BitTorrent (БитТоррент)

megainformatic - Миссис Даутфайр 1993 фильм torrent

megainformatic - Как скачивать торрент-раздачу ?

подробнее

Коллекция полезных php скриптов

Я уже некоторое время ранее собрал список из особенностей, которые так или иначе были реализованы в рамках создания сайтов на php.

Вот они -

Web технологии

Но сегодня этот список пополнится новыми скриптами.

Скрипт выбора случайного слова из списка.

Если обновлять страницу, то каждый раз будет выводиться новое слово.

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

подробнее


[к содержанию] [другие статьи Тимонина Андрея]

DirectX9. Создаем основной класс обработки графики.

автор: Тимонин Андрей

дата публикации на сайте Мега Информатик: 18.11.2012

Добро пожаловать в цикл моих уроков посвященных программированию.

На написание этой статьи меня вдохновил блог о создании игр с нуля, который можно посмотреть по следующей ссылке mindillusion.ru.

Здесь я хочу затронуть основные, интересные для меня, моменты. Рассказать вам с чего нужно начинать делать свое первое 3д или 2д приложение.


Существует 2 основные низкоуровневые библиотеки для вывода графики, над которыми пишутся движки, применяемые как в сфере разработки игр, так и прочих графических приложений не связанных с геймдевом. Это DirectX, на данный момент вышла 11 версия и OpenGl. В этой статье мы будем касаться 9 версии директа. Другие версии могут немного отличаться.

Результат наших действий будет такой, как на скриншоте.

И так, перейдем к делу... У нас получается такой интерфейс класса. Здесь все, что необходимо для работы с графическим устройством. По крайней мере, что нам интересно на данный момент. Часть методов я приведу, снабдив, необходимыми для понимания комментариями. Класс у нас в единственном экземпляре, что дает нам возможность объединить возможности в одном классе. В том числе хранение и работа с текстурами и шейдерами. Это будет тема для одной из следующих статей. Смотрим код.

class Graphics : public singleton<Graphics>
{
friend class singleton<Graphics>;
private:

int _width,_height; //размеры экрана(сделал для удобства)

//интерфейс directX
LPDIRECT3D9 m_pD3D;

//интерфейс устройства вывода
LPDIRECT3DDEVICE9 m_pd3dDevice;

// структкура с параметрами девайса
D3DPRESENT_PARAMETERS m_d3dpp;

typedef std::vector<CTexturePtr> vecTextures;
vecTextures m_vecTextures;

typedef std::vector<CShaderPtr> vecShaders;
vecShaders m_vecShaders;

protected:

//закрыто. нет смысла создавать все равно singleton
Graphics(void);
~Graphics(void);

public:

//возвращает устройство
LPDIRECT3DDEVICE9 GetDevice();

//инициализация устройства
bool Init(HWND hRenderWnd, int width, int height);

//возвращает ширину
int getWidth() const {return _width;}

//возвращает высоту
int getHeight() const {return _height;}

//удаление интерфейсов
void Cleanup();

//сброс
HRESULT Reset();

//начало рендера
bool StartRender(D3DCOLOR bgColor=0xff808080);
//устанавливает формат вершин
HRESULT SetFVF(DWORD FVF);

//устанавливает пиксельный и верш шейдер( в статье не будем рассматривать. рано еще)))
HRESULT SetPixelShader(CShaderPtr shader);
HRESULT SetVertexShader(CShaderPtr shader);

//установка характеристик рендера
HRESULT SetRenderState(D3DRENDERSTATETYPE State, DWORD Value);

//установка характеристик текстур(смешивание, альфа и тд)
HRESULT SetTextureStageState(DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD Value);

//установка способа отображения семплов( фильтрация)
HRESULT SetSamplerState(DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD Value);

//установка текстуры
HRESULT SetTexture(DWORD stage, CTexturePtr pTex);

//начало блока настроек рендера
HRESULT BeginStateBlock();

//конец блока настроек рендера
HRESULT EndStateBlock(LPDIRECT3DSTATEBLOCK9* block);

//отрисовка премитива
HRESULT DPUP( D3DPRIMITIVETYPE PrimitiveType, UINT PrimitiveCount, CONST void* pVertexStreamZeroData, UINT VertexStreamZeroStride);

//конец отрисовки

bool EndRender();

//загрузка текстур и шейдеров(про текстуры будет отдельная статья)
CTexturePtr LoadTexture(const std::wstring& szFileName);
CShaderPtr LoadShader( const std::string& strFileName, const std::string& strFuncName, const std::string& profile);
};

Сейчас нам интересны два интерфейса:

//интерфейс directX
LPDIRECT3D9 m_pD3D;

//интерфейс устройства вывода
LPDIRECT3DDEVICE9 m_pd3dDevice;

Для начала их необходимо обнулить.

Graphics::Graphics()
{
m_pD3D = NULL;
m_pd3dDevice = NULL;
ZeroMemory(&m_d3dpp, sizeof(D3DPRESENT_PARAMETERS)); // обнулим
}

А сейчас посмотрим, как инициализируется устройство.

bool Graphics::Init(HWND hRenderWnd, int width, int height)
{
// сначала проицициализируем сам DirectX 9
m_pD3D = Direct3DCreate9( D3D_SDK_VERSION );
if (m_pD3D==NULL)
return false;
//создаем структуру с режимами дисплея
D3DDISPLAYMODE d3ddm;
//пробуем определить параметры дисплея
if(FAILED(m_pD3D->GetAdapterDisplayMode(D3DADAPTER_DEFAULT, &d3ddm)))
{
//генерируем исключение
ExceptionBase err(GETDISPLAYMODEERROR,L"Не могу определить параметры дисплея");
throw err;
return false;
}

//характеристики заднего буфера---------------------------------------------------------
m_d3dpp.BackBufferWidth = width; // указываем ширину и
m_d3dpp.BackBufferHeight = height; // высоту области рендера
m_d3dpp.BackBufferCount = 1; // один внеэкранный буфер

m_d3dpp.BackBufferFormat = d3ddm.Format;

//-------------------------------------------------------------------------------------------------------
m_d3dpp.Windowed = TRUE; // рендер в окне, а не в полный экран

m_d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD; // так лучше делать всегда
m_d3dpp.EnableAutoDepthStencil = TRUE; // нам нужен Z-буфер
m_d3dpp.AutoDepthStencilFormat = D3DFMT_D24S8; // формат Z-буфера
m_d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_ONE;

// и теперь создадим сам девайс
HRESULT hr = m_pD3D->CreateDevice( D3DADAPTER_DEFAULT,
D3DDEVTYPE_HAL, hRenderWnd, D3DCREATE_HARDWARE_VERTEXPROCESSING,
&m_d3dpp, &m_pd3dDevice );
if (FAILED(hr))
return FALSE;
_height = height;
_width = width;
return TRUE;
}

Чтобы освободить интерфейс, необходимо вызвать Release. Посмотрим, как удаляются, созданные нами, объекты.

void Graphics::Cleanup()
{
// освобождаем текстуры
vecTextures::iterator itr = m_vecTextures.begin();
while(itr!=m_vecTextures.end())
{
(*itr)->Release();
delete *itr;
itr++;
}
m_vecTextures.clear();

// освобождаем шейдеры
vecShaders::iterator itr2 = m_vecShaders.begin();
while(itr2!=m_vecShaders.end())
{
(*itr2)->Release();
delete *itr2;
itr2++;
}
m_vecShaders.clear();

if (m_pd3dDevice)
{
m_pd3dDevice->Release();
m_pd3dDevice = NULL;
}
if (m_pD3D)
{
m_pD3D->Release();
m_pD3D = NULL;
}
}

Следующим шагом, посмотрим на методы, необходимые для отрисовки.

bool Graphics::StartRender(D3DCOLOR bgColor)
{
if (FAILED(m_pd3dDevice->BeginScene())) // начинаем рисовать
return false;

// очистка экрана
if (FAILED(m_pd3dDevice->Clear(0, NULL, D3DCLEAR_TARGET|
D3DCLEAR_STENCIL| D3DCLEAR_ZBUFFER, bgColor, 1, 0)))
return false;

return true;
}

bool Graphics::EndRender()
{
m_pd3dDevice->EndScene(); // закончили рисовать

// копируем на экран
HRESULT hr = m_pd3dDevice->Present(NULL, NULL, NULL, NULL);
if (FAILED(hr)/*==D3DERR_DEVICELOST*/)
Reset();

if (FAILED(hr))
return false;

return true;
}

Установка формата вершин и отрисовка примитивов.

HRESULT Graphics::SetFVF( DWORD FVF )
{
return m_pd3dDevice->SetFVF(FVF);
}

HRESULT Graphics::DPUP( D3DPRIMITIVETYPE PrimitiveType, UINT PrimitiveCount, CONST void* pVertexStreamZeroData, UINT VertexStreamZeroStride )
{
return m_pd3dDevice->DrawPrimitiveUP(PrimitiveType, PrimitiveCount, pVertexStreamZeroData, VertexStreamZeroStride);
}

И напоследок, посмотрим на настроечные функции.

HRESULT Graphics::SetRenderState( D3DRENDERSTATETYPE State, DWORD Value )
{
return m_pd3dDevice->SetRenderState(State, Value);
}

HRESULT Graphics::SetTextureStageState(DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD Value )
{
return m_pd3dDevice->SetTextureStageState(Stage,Type,Value);
}

HRESULT Graphics::SetSamplerState( DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD Value )
{
return m_pd3dDevice->SetSamplerState(Sampler, Type, Value);
}

На этом пока все. Применение смотрите в следующей части.

 

[к содержанию] [другие статьи Тимонина Андрея]

подробнее

Веселый Буквоежка - онлайн комикс - страница 13

представляем Веселый Буквоежка - онлайн комикс.

Злостная клевета, меня там вообще не было!

Веселый Буквоежка - онлайн комикс - страница 13

если кликать картинку она будет последовательно меняться в размерах от 620 до 2048 пиксель.

[страница 1]  [страница 2]  [страница 3]  [страница 4]  [страница 5]  [страница 6]  [страница 7]  [страница 8]  [страница 9]  [страница 10]  [страница 11]  [страница 12]  [страница 13]  [страница 14]  [страница 15]  [страница 16]  [страница 17]  [страница 18]  [страница 19]  [страница 20]  [страница 21]  [страница 22]  [страница 23] 

подробнее

Легко ли быть программистом

Я никогда не планировал быть программистом. Мечты мои были совсем другими.

Сначала я захотел научиться делать свои собственные игры. Это было еще в далеком 1992 году.

Тогда моим первым компьютером был ЭЛЕКТРОНИКА БК-0010.01

На этом компьютере было 64 Килобайта памяти. Из них 32 Кб отводилось под ПЗУ - Постоянное Запоминающее устройство, в котором находились интерпретатор бейсика и еще кое-какие системные программы. Оставшиеся 32 Кб делились на 2 части по 16 Кб каждая и составляли ОЗУ и экранную память. БК-шка имела 4 цвета - черный, синий, зеленый и красный и разрешение экрана 256х512 точек. Каждая точка, как видим, занимала всего 2 бита в экранной памяти. Таким образом и получается ровно 16 Кб экранного ОЗУ.

На БК-шке я изучил основы программирования на бейсике, фокале и в машинных кодах.

Серьезных игр на машинных кодах для БК-шки я к сожалению не написал, были только заготовки и небольшие демо-программы с бегущей строкой текста, звуками и графикой.

На бейсике была написана игра, похожая на одну из игр для компьютера АГАТ-7, в которой персонаж в виде экранного символа должен двигать стены и таким образом захватить других врагов.

На машинных кодах была написана очень интересная программа - эмулятор многополосного графического эквалайзера. На вход БК-шки подавался звук от магнитофона, а на экране прыгали полосы эквалайзера, показывающие уровень звука.

Была также идея цифровой обработки звука, но сами понимаете, пропущенный через БК-шку он только ухудшался.

В конце 1996 года моя БК-шка вышла из строя. И я задумался где взять другую. В то время существовала некая фирма КИ-ЧПМ, которая занималась продажей программ для БК по почте. Через эту фирму я заказывал сборники игр и программ для БК присылаемые почтой на обычных аудио-кассетах.

В одном из писем, сотрудники этой фирмы предложили мне переходить на IBM PC и даже предложили мне апгрейд моего старого БК на IBM.

На дворе был 1997 год, уже во всю властвовали IBM PC 486 и Pentium, повсеместно использовалась операционная система Windows 95.

Но я о таком пока мог только мечтать. Я заказал и получил машину, более скромную по возможностям - IBM PC 286, которая имела 40 Mb жесткий диск, мышку, 1 MB оперативной памяти, 256 Кб VGA адаптер, флоппи дисковод для 1,44 Mb дискет.

Но для меня это был ОГРОМНЫЙ ШАГ ВПЕРЕД. Представьте себе - теперь не нужно было загружать программы с магнитофона - они почти мнгновенно грузились с жесткого диска. Спустя некоторое время я приобрел цветной монитор и звуковую карту и получил компьютер на котором было можно ВСЁ !

Самой главной проблемой того времени - 1998-2001 годы было то, где достать программы для IBM PC совместимого ПК. О выходе в интернет также пока речи не было. Однако я не терял времени и освоил GW-Basic и активно стал писать небольшие музыкальные треки на нём. Затем благодаря учебе в университете, я получил выход в интернет (правда не из дома и не для своего компьютера). Но мне удалось найти в интернете несколько программ для создания музыки, одной из них была SADT2, в это же время я приобрел звуковую карту и начал делать отличную для того времени 9 канальную музыку !!!

Примеры этих композиций Вы можете послушать на страничке Мои ранние композиции 1998-2001 годов

Шло время, я переходил на более мощные ПК - сначала 386, потом 486, затем Пентиум. Кроме того для Пентиума я приобрел уже CD-ROM привод и жесткий диск на 650 Mb. Благодаря этому, а также благодаря Delphi 5 и книге по Delphi 3 я начал осваивать программирование на Delphi и языке object pascal.

Как видите, я совсем не планировал быть программистом, просто, как говорится, нужда заставляла, хотелось во-первых понять как работает IBM PC - совместимая машина и создать для неё какую-то свою программу.

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

В 2001 году я закончил университет, а в 2002 поступил в аспирантуру. Тогда я перешел на Celeron, приобрел жесткий диск на 20 Gb, а также полностью сменил всю начинку своего ПК - от материнской платы и памяти, до пишущего привода CD-ROM.

В этот период я смог осваивать и работать на компьютере более серьезно. Главной задачей и вопросом которые я себе тогда ставил - это была попытка создания игры - Дорога в город на Delphi 7 для Directx 7, а также освоение таких программ как Adobe Photoshop, Corel Draw, 3ds max.

Параллельно я вел курсы по компьютерной грамотности и компьютерной графике, а также проводил небольшие занятия по программированию на Turbo C.

В 2006 году я стал дизайнером. Активно работал с программами Adobe Photoshop, Corel Draw, 3ds max, а также по своей инициативе продолжал заниматься проблемами создания игр на delphi и c++ для directx 8.1 и directx 9c.

С 2006 по 2010 годы были выпущены целый ряд проектов, написанных как на delphi для directx 8.1, так и на c++ для directx 9c.

Это эмулятор игры Ну, Погоди !, которая была сначала написана на delphi для directx 8.1, а чуть позже, когда я освоил directx 9c и cpp была перенесена на c++ для directx 9c.

Игра Нечто: необъяснимое - этот проект также был написан на delphi для directx 8.1. Проект к сожалению не был доведен до логического завершения, но послужил основой для целого ряда других проектов.

В 2009 году была выпущена игра Нечто: необъяснимое - в плену желаний - эта игра написана на delphi для directx 8.1 и в ней, как и в Дороге в Город, было реализовано всё задуманное, или по крайней мере минимальное из задуманного и проект был доведен до логического завершения. Игру было решено распространять на бесплатной основе. И Вы сейчас можете набрать в любом поисковике фразу Нечто: необъяснимое - в плену желаний и получите кучу ссылок и кучу сайтов, на которых есть эта моя игра :))))

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

В 2007 году была реализована небольшая игра, а точнее пример 3d игры DONUTS 3D исходный код которой Вы можете скачать. Она представляет собой пример из directx sdk 8, который я переделал на delphi directx.

В период с 2010 по 2012 годы я занимался работой над самым крупным своим игровым проектом - ВЕСЕЛЫЙ БУКВОЕЖКА.

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

В период с 2010 по настоящий момент я занимаюсь в основном созданием сайтов и web-приложений на php, html, css, javascript, mysql.

Таким образом, я никогда не предполагал быть или стать программистом. Скорее наоборот - я хотел создавать музыку, игры.

Программирование - это необходимость, которую мне пришлось преодолевать на пути к достижению своих целей.

Мой арсенал составляют языки от ассемблера, c++, delphi и паскаля, до php, mysql, javascript, html, css и некоторых других технологий.

Также меня всегда интересовала компьютерная графика и музыка, благодаря чему я свободно владею Photoshop, 3ds max, Corel Draw, GIMP, а также Mod Plug Tracker, Sound Forge, Adobe Audition, Fruity Loops Studio и некоторыми другими аналогичными программами.

Хотите ли Вы быть программистом и легко ли им быть ?

Задайте себе этот вопрос и решите его. Возможно, чтобы ответить на него до конца вам потребуется не один десяток лет, а может быть и целая жизнь.

   
  [Пример игры Donuts3D]  
     
 
Основы работы в Microsoft Visual Studio 2008 и DirectX 9 (DX SDK Aug 2008)
 
     
 

Данный набор уроков является введением в программирование игр на C++ для DirectX 9

Вам нужно иметь установленную среду Microsoft Visual Studio 2005 или 2008 (можно триал),

и DirectX SDK 9 версии, или лучше самой последней - DirectX SDK August 2008.

 
     
 

Введение в программирование игр на С++ для платформы DirectX 9. Первый старт - описывается как настроить примеры из DX SDK Aug 2008 для корректной сборки в MSVS 2008

 
     
  Меняем иконку приложения - описывается как создать для приложения большую 48х48 полноцветную (24 бит) иконку  
       
  Добавляем другую модель - как изменить код для использования другой модели, особенности экспорта моделей из 3ds max 7, 3ds max 2009  
       
  Программирование игр в directx, написание самого первого приложения на C++ Hello, World! - пишем самое самое первое приложение на C++    
       
  Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008 - пишем первое приложение с использованием Windows Forms - простейший калькулятор. Пример позволит сделать следующий шаг в изучении MSVS 2008 и основ программирования .NET Framework. Вы увидите, что работа с Windows Forms чем-то напоминает работу в Delphi 7 с тем лишь отличием, что вместо delphi применяется C++  
       
  Урок 1 Основные операторы языка C++ - использование основных операторов языка: метки, выражения, пустой оператор, логические скобки, ветвления, циклы, передача управления    
       
  Урок 1 Основные операторы языка C++ (часть 2) - объявление переменных, обработка исключений    
       
  Урок 2 Написание Win32-приложений. Обзор стартового кода Win32-приложения. Добавление ресурса текстовая строка - несколько слов о структуре стартового Win32-приложения и принципов его работы, методы создания ресурсов приложения на примере добавления ресурса "строка текста".    
       
  Урок 3 Создание Win32-приложений. Создание меню и простых диалоговых окон - кратко описывается как создать меню, простой диалог и где посмотреть код для их использования    
       
  Урок 4 Создание Win32-приложений. Стандартные диалоги. Изучение сопутствующих конструкций языка. Консольные Win32-приложения. Указатели. Ссылочный тип. Массивы - информация о разделах справочной системы посвященных стандартным (общим) диалогам, комментарии примеров работы с указателями (pointer), ссылками (reference) и массивами    
       
 

Урок 4 часть 2 Win32. Диалог выбора цвета, смена цвета фона окна приложения - показан код, для смены цвета фона окна приложения путем выбора цвета из диалога выбора цвета (Color Dialog)

   
       
  Урок 5 Написание приложения DirectX9c + MFC в среде MSVS 2005 - предложен простейший способ совместного использования DirectX9c WinAPI и MFC. Не это ли нужно тому кто пишет свои игры для directx, а именно - всё богатство классов MFC под рукой ! Урок 5 Написание приложения DirectX9c + MFC в среде MSVS 2005  
megainformatic live chat
Начать беседу
X
 

Оставленные комментарии



fle game engine - движок для создания игр
fle game engine - движок для создания игр


Something: Unexplained 2 captive of desires / Нечто: Необъяснимое 2 в плену желаний
Костя Коробкин Комикс Коллекционное издание - 6 комиксов, 81 страница, 220 mp3 треков
megainformatic Размещение баннерной рекламы у нас
Время загрузки: 0,3189