allasm.ru |
|
Предисловие. Привет всем ! Сидел я как-то в инете и наткнулся на сайт www.vvsu.ru/dkscs, а там, на цикл статей Дениса "Mr.Snow" Кожухова ( в данный момент сайт переехал на Xdev.ru ). Статьи были посвящены программированию Direct3D 8.1 на языке C++. Посмотрел я на них и подумал, а что если забацать тоже самое, но на MASM. Решение пришло из-за того, что меня несколько удивляет факт наличия в инете множества исходников на асме, использующих OpenGL, и совсем мало использующих Direct3D, да и то старых версий ( может я не там искал ? ). Конечно, OpenGL это рулез, скажете вы, а Microsoft c его DirectX полный отстой и мастдай форева. Таких "товарисчей" я попрошу сразу удалиться даже не читая дальше. На мой взгляд, DirectX не такой уж плохой API и на нем тоже можно что-нибудь состряпать, поэтому я постараюсь в меру своих сил и возможностей опубликовать цикл уроков по Direct3D 8.1, на этом сайте ( если организаторы позволят ;) ). В общем, всем кому интересно прошу далее.... Урок 0. Создаем каркас приложения WIN32 для будущих экспериментов ! Чтобы было с чего начинать, я написал каркас приложения, который буду использовать во всех следующих уроках. Из каркаса я выбросил все лишнее, чтобы все внимание сосредоточить на работе с DIRECTX и не отвлекаться на всякие WinMain и прочую ерунду. Первое, что я сделал, это вынес структуру класса в секцию DATA и сразу заполнил то, что можно. Меньше кода и более понятно я думаю. Во-вторых, я убрал функцию WinMain. А также написал цикл обработки сообщений командами ассемблера, а не псевдокомандами .IF .ELSE и т.д. В третьих оставил только два события: CREATE и DESTROY. В итоге совсем немного текста !
Исходник прилагается. Всем пока до следующего урока :) В следующем уроке мы создадим объект DIRECT3D и осуществим небольшой опыт, чтобы проверить его работоспособность. Авторство принадлежит Пономареву Михаилу ака keYMax. Все вопросы и ругательства слать по адресу mybox@aib.ru |