Някой да препоръча tutorial за преминаване на DirectXMath?

Всичко свързано с Microsoft DirectX. Въпроси относно HLSL.
Потребителски аватар
Hivoyer
Sometimes here
Sometimes here
Мнения: 39
Регистриран на: 24 яну 2012 01:22

Някой да препоръча tutorial за преминаване на DirectXMath?

Мнение от Hivoyer » 23 юли 2012 03:26

Значи на кракто да обясня къде ми идва проблема:

Код: Избери всички

void Camera::Update(float positionX, float positionY, float positionZ)
{
	D3DXVECTOR3 up, position, lookAt;
	float yaw, pitch, roll;
	D3DXMATRIX rotationMatrix;

	up.x = 0.0f;
	up.y = 1.0f;
	up.z = 0.0f;

	position.x = positionX;
	position.y = positionY;
	position.z = positionZ;

	lookAt.x = 0.0f;
	lookAt.y = 0.0f;
	lookAt.z = 1.0f;

	pitch = rotationX * 0.0174532925f;
	yaw   = rotationY * 0.0174532925f;
	roll  = rotationZ * 0.0174532925f;

	D3DXMatrixRotationYawPitchRoll(&rotationMatrix, yaw, pitch, roll);

	D3DXVec3TransformCoord(&lookAt, &lookAt, &rotationMatrix);
	D3DXVec3TransformCoord(&up, &up, &rotationMatrix);

	lookAt = position + lookAt;

	D3DXMatrixLookAtLH(&gViewMatrix, &position, &lookAt, &up);
}
(игноирайте факта,че е много неоптимизирано :mrgreen: )

Значи с D3DXMATRIX i D3DXVECTOR3 и тези от старата math библиотека всичко си работеше,но новата малко ме обърка - еквивалентите на D3DXVECTOR са XMFLOAT,но еквивалентите на функцийте,които преди взимаха D3DXVECTOR3,не взимат XMFLOAT3,ами XMVECTOR.До колкото разбрах вече XMFLOAT е само за складиране на инфо,а за функцийте се ползва XMVECTOR,който се зарежда с инфото от XMFLOAT-a с XMLoadFloat3,но когато ползвам тази функция,ми дава unhandled exception,access violation.При матриците не ми е ясно това XMFLOAT4X4 също ли е data storage за матрици,който някакси се вкарва в XMMATRIX?

Също така може ли някой на кратко да обясни защо трябва да извикваме допълнителни функций да вкарваме XMFLOAT в XMVECTOR,това не го ли прави по-бавно от предишния начин с D3DXVECTOR?

gemicha
Site Admin
Site Admin
Мнения: 2930
Регистриран на: 20 ное 2003 22:20
Местоположение: USA

Re: Някой да препоръча tutorial за преминаване на DirectXMat

Мнение от gemicha » 23 юли 2012 06:30

Можеш ли да напишеш въпросите един по един. Ще се опитам да отговоря на някой от тях.

Потребителски аватар
Hivoyer
Sometimes here
Sometimes here
Мнения: 39
Регистриран на: 24 яну 2012 01:22

Re: Някой да препоръча tutorial за преминаване на DirectXMat

Мнение от Hivoyer » 23 юли 2012 06:51

Сори за многото въпроси,по-обобщено - как точно се работи с новите "XM" променливи?Ако може линк към някоя страница с tutorial :D

Отговори

Кой е на линия

Потребители, разглеждащи този форум: Няма регистрирани потребители и 1 гост