를 개발하고 2D 게임 엔진을 지원하는 3D 다. 에서 이 현재 개발의 단계,나는 일에 일괄 renderer. 의 일부로 알고 있습니다 때,그래픽 처리 함께,유니폼에 대한 지원 색상(RGBA),질감표,질감 ID(텍스처 인덱스),그리고 모델 변환 모체 창 밖으로 이동,하지만 그 대신를 통해 전달되 vertex buffer. 지금,나는 구현을 통과 모델을의 위치,색상,질감표,질감 ID 를 vertex buffer. 나의 꼭지점 버퍼 형식으로 다음과 같이 지금:
float* v0 = {x, y, r, g, b, a, u, v, textureID};
float* v1 = {x, y, r, g, b, a, u, v, textureID};
float* v2 = {x, y, r, g, b, a, u, v, textureID};
float* v3 = {x, y, r, g, b, a, u, v, textureID};
나는에 대한 통합을 계산하는 개체해야에서 세계를 사용하여 공간을 변화 행렬입니다. 이것은 나에게 질문합니다:
야 하는 변화 행렬에 곱 모델의 정점에 위치 CPU 또는 GPU?
뭔가를 염두에 두는 경우가 그것을 전달하 vertex buffer,내가 가진 것을 업로드 변화 행렬에 한 번씩 꼭짓점(4 시간당 sprite)는 나의 메모리입니다. 다른 한편으로,곱하여 모델의 정점에 위치하여 변화 행렬에 CPU 그것처럼 보인다 느린 것과 비교 GPU 의 동시성 기능입니다.
이것은 어떻게 내 꼭지점 버퍼 형식으로 보이는 것 같으면 내가 계산에서 변화하는 GPU:
float* v0 = {x, y, r, g, b, a, u, v, textureID, m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15};
float* v1 = {x, y, r, g, b, a, u, v, textureID, m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15};
float* v2 = {x, y, r, g, b, a, u, v, textureID, m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15};
float* v3 = {x, y, r, g, b, a, u, v, textureID, m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15};
이 질문은 대부분 이론적으로 구동됩니다. 그래서,이론적 및 기술적 대답은 많이 주시면 감사하겠습니다. 그러나 참조를 위해,여기에는 코드입니다.