Программирование игр на С++


0 0

Мне уже приходили письма с просьбами помочь с примером из книги Программирование игр на C++. Кажется так она называлась и уже давно не продается, потому что устарела. Я в ней описывал DX9, а сейчас за окном уже кажется 11-й, десятый точно вышел.

Сегодня выбрался за свой Windows ноутбук и решил посмотреть пример с DX, давно я с ним не работал. Исправить пример невозможно. Первое, что я сделал, добавил:


#include <DXFile.h>

Возможно я упустил это, точно сказать не могу. Но без этого файла компилятор ругается на все подряд. После добавления этого заголовочного файла в DXGObject.h количество ошибок резко сократилось. Но компилятор начал ругаться на шейдеры. Это давно известная проблема, потому что Microsoft поменяла их методы. Если раньше код отображения выглядел так:

pEffect[ef_index]->Begin(&uPass, NULL);
for(UINT i = 0; i < uPass; i++)
{
pEffect[ef_index]->Pass(i);
// Здесь выводим шейдер
}
pEffect[ef_index]->End();

То теперь:

pEffect[ef_index]->Begin(&uPass, NULL);
for(UINT i = 0; i < uPass; i++)
{
pEffect[ef_index]->BeginPass(i);
//Здесь выводим шейдер
pEffect[ef_index]->EndPass();
}
pEffect[ef_index]->End();

Если ты исправишь это, то останется одна маленькая проблема – компилятор будет ругаться на тип данных IDirectXFileData. Вот тут Microsoft подставила более круто. Она заменила тип вообще капитально на ID3FXFile. Так как мой пример был построен на IDirectXFileData, который совершенно не совместим с ID3FXFile, то простого решения тут я не вижу. Пример нужно переписывать, книга уже давно устарела и не продается. Если и переписывать пример, то это уже нужно делать под последнюю версию DX. Не удивлюсь, если там Microsoft подставила еще круче и изменила вообще все.

Если кто хочет работать с графикой, то я бы посоветовал посмотреть в сторону XNA, а не DirectX. Дело в том, что XNA будет работать не только на компьютерах, но и на телефонах и даже XBox. Сам не пробовал, но если я вернусь в программирование графики, то это будет XNA.


Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым


Комментарии

Паника, что-то случилось!!! Ничего не найдено в комментариях. Срочно нужно что-то добавить, чтобы это место не оставалось пустым.

Добавить Комментарий

Еще что-нибудь

Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

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

Пишите мне