Используя Flash 11 RC1 с новым API Molehill, я бы хотел включить выборку задней поверхности.Бета-документация довольно расплывчата, но пример предполагает, что Молехилл хочет, чтобы передние треугольники вращались против часовой стрелки, что вполне нормально.
Но когда мои многоугольники вращаются против часовой стрелки, я получаю совершенно противоположное поведение -другими словами, как будто вопреки своим собственным примерам Молехилл ожидает, что передние треугольники будут вращаться по часовой стрелке.Поскольку в документации никогда не указывается, какая извилистая верна, я в замешательстве.
Я не хочу просто переворачивать все свои треугольники, пока все не покажется прямо, пока я не получу 100% того, что на самом деле хочет Молехилл, посколькувполне вероятно скрыть фундаментальное недоразумение.
Я использую простую перспективную проекцию (примечание относительно .transpose () ниже: потому что copyRawDataFrom ожидает данные в главном порядке столбцов, а я ненавидел то, как это выгляделокод, я решил просто ввести его мажор строки и затем транспонировать матрицу - так что подайте в суд: P):
var y:Number = 1.0 / Math.tan(pFOV / 2.0);
var x:Number = y / pAspectRatio;
_projectionMatrix.copyRawDataFrom(new<Number>[
x , 0 , 0 , 0,
0 , y , 0 , 0,
0 , 0 , pFar/(pNear-pFar) , pFar*pNear/(pNear-pFar),
0 , 0 , -1 , 0
]);
_projectionMatrix.transpose();
Есть какие-нибудь подсказки?