Я экспериментирую с разными матрицами, изучаю их влияние на текстурированный квад. До сих пор я довольно легко реализовал матрицы масштабирования, вращения и перемещения, используя следующий метод для моих векторов положения:
enter code here
for(int a=0;a<noOfVertices;a++)
{
myVectorPositions[a] = SlimDX.Vector3.TransformCoordinate(myVectorPositions[a],myPerspectiveMatrix);
}
Однако я хочу иметь возможность позиционировать свои векторы, используя координаты в мировом пространстве, а не в пространстве объектов.
На данный момент мои векторы положения объявлены таким образом:
enter code here
myVectorPositions[0] = new Vector3(-0.1f, 0.1f, 0.5f);
myVectorPositions[1] = new Vector3(0.1f, 0.1f, 0.5f);
myVectorPositions[2] = new Vector3(-0.1f, -0.1f, 0.5f);
myVectorPositions[3] = new Vector3(0.1f, -0.1f, 0.5f);
С другой стороны (и как часть изучения матриц) я прочитал, что мне нужно применить матрицу, чтобы получить координаты экрана. Я просматривал документы SlimDX API и не могу определить тот, который мне следует использовать.
В любом случае, надеюсь, вышеизложенное имеет смысл, и то, чего я пытаюсь достичь, ясно. Я стремлюсь к простому окну 1024 x 768 в качестве области приложения и хочу расположить свой текстурированный четырехугольник на 10,10. Как мне это сделать? Самый запутанный сейчас.
Orthoganal Matrix
перевести его в экранные координаты. Надеюсь, это поможет. - person Adrian Thompson Phillips   schedule 14.08.2012