2012-01-23 4 views
1

대부분 Matrix3D 개체가 AS3의 정점 상수 레지스터로 Context3D 개체로 전달 된 예제를 보았습니다. 그러나 다른 유형의 레지스터 (임시 또는 특성)의 매트릭스를 보지 못했습니다.AGAL의 정점 상수 이외의 정점 레지스터에 행렬이 존재할 수 있습니까?

매트릭스 버텍스 상수를 임시 레지스터에 복사 한 다음 다른 임시 값 (버텍스 속성 또는 다른 상수)을 사용하여 해당 매트릭스 임시 레지스터 (예 : 회전)의 개별 필드를 조작 할 수 있습니까?

간단한 mov dest, source 작업이 트릭을 수행 할 수 있습니까?

답변

2

예, 작동합니다 (Mole에서 가져옵니다 :)). 충분히 (3 또는 4) 레지스터를 복사하십시오. 또한 행렬 연산에 대해 생각하는 좋은 방법은 3 또는 4 개의 점 제품 지침에 대한 바로 가기에 불과하다는 것입니다. AGAL에 실제로 입력 된 것은 없습니다. 행렬은 몇 개의 연속적인 레지스터입니다. 행렬 업로드 기능은 한 번의 호출로 4 개의 레지스터에 업로드하는 데 편리합니다.

dp4 dest.x srx, srcmatrix 
dp4 dest.y srx, srcmatrix+1 
dp4 dest.z srx, srcmatrix+2 
dp4 dest.w srx, srcmatrix+3 

+1 등이 여기에 등 번호 1

0

나는 거의 확실 임시 레지스터는 행렬 포함하여 요청이 가능하다고 해요,하지만 당신은 마르코 Scabia 같은 사람에서 가장 좋은 대답을 얻을 수 있습니다

http://iflash3d.com/

그는 매우 가까이와 AGAL의 지식입니다 .

+0

니스를 등록 의미 : 그리고 쉐이더

m44 dest, src, srcmatrix

에서와 똑같은입니다! 이것은 앞으로 내가 가질 수있는 더 많은 질문에 대한 도움이 될 것입니다! – bigp

+1

저는 기쁩니다. AGAL 리소스가 얼마나 힘들었는지 압니다. 행운을 빕니다! –