C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 17 - Вращаем направленный источник света вокруг треугольника / Direct3D / Microsoft DirectX

Шаг 17 - Вращаем направленный источник света вокруг треугольника

Из конструктора главного окна вытащите:

D3DXVECTOR3 vecDir;

И перенесите его в класс рамки окна:

class CMainWnd : public CFrameWnd
{
.
.
.
public:
	D3DXVECTOR3 vecDir; // вектор направленного источника света
.
.
.

Перейдем в функцию Transform3D и остановим вращение сцены установив ее под некоторым углом, чтобы удобней нам было видно:

D3DXMatrixRotationY (&matWorld, 1.0);

Можете скомпилировать и посмотреть, что у нас получилось. Добавляем в Transform3D():

static float y=0; y+=(float)0.01;

vecDir = D3DXVECTOR3 (sinf(y)*1, -cosf(y)*1, cosf(y)*1);
D3DXVec3Normalize ((D3DXVECTOR3*)&light.Direction, &vecDir);
p_d3d_Device->SetLight (0, &light);

Все :) свет летает вокруг нашего объекта. Все эти функции вам уже знакомы. Теперь, вспомните, у нас есть одна функция, которая вам скорее всего непонятна:

p_d3d_Device->SetRenderState (D3DRS_AMBIENT, 0);

Установите вместо 0, скажем, 100 или больше и посмотрите что будет :) Ниже показан один из кадров анимации:

17_1.gif (1160 b)


Загрузить проект | | |
Автор Хавов Евгений Валерьевич.
[AD]