Direct3D9: (ERROR) :Stream 0 does not have required number o

2D, 3D, 다각형, 픽셀 등 게임의 그래픽 프로그래밍에 관한 포럼입니다.

Moderator: 류광

Locked
duo0813
Posts: 7
Joined: 2005-02-02 21:10

Direct3D9: (ERROR) :Stream 0 does not have required number o

Post by duo0813 »

위의 에러가 왜 나는걸까요?

특정그래픽카드에서만 나네요
zupet
Posts: 2764
Joined: 2003-05-13 03:34
Location: NCSOFT LE팀

Post by zupet »

안녕하세요. 매크로 없는 메비~랍니다.

디버그 DLL 을 쓰고 있나보네요. 사용하고 있는 Vertex Buffer 의 크기(count) 가 DrawIndexedPrimitive() 에서 지정한 baseVertex + minIndex + vertexCount 보다 작을 경우 나타나는 현상입니다. 즉 DIP() 를 호출할때 지정한 파라메터보다 VB의 크기가 작기때문에 내놓는 경고죠. 그래픽 카드에 따라 이런 Draw Call 을 허용하기도 하고 아예 실패하기도 하기 때문에 가능한 숫자를 맞춰서 사용하는게 좋습니다.
duo0813
Posts: 7
Joined: 2005-02-02 21:10

답변감사드립니다..

Post by duo0813 »

라데온 x1200시리즈 내장형 그래픽 카드에서는 렌더가 되지 않고,
지포스 계열에서는 잘 됩니다.

위에 제가 드린 질문과 연관이 있을까요..혹시나해서 테스트 삼아 버텍스버퍼를 임의로 좀더 늘려서
테스트를 해보니 x1200에서 렌더가 되네요..관련이 있을까요?
zupet
Posts: 2764
Joined: 2003-05-13 03:34
Location: NCSOFT LE팀

Re: 답변감사드립니다..

Post by zupet »

duo0813 wrote:라데온 x1200시리즈 내장형 그래픽 카드에서는 렌더가 되지 않고,
지포스 계열에서는 잘 됩니다.

위에 제가 드린 질문과 연관이 있을까요..혹시나해서 테스트 삼아 버텍스버퍼를 임의로 좀더 늘려서
테스트를 해보니 x1200에서 렌더가 되네요..관련이 있을까요?
제대로 그려지고 있다면 아래 파라메터가 틀려서 나오는 경고 입니다.

HRESULT DrawIndexedPrimitive(
D3DPRIMITIVETYPE Type,
INT BaseVertexIndex,
UINT MinIndex,
UINT NumVertices,
StartIndex,
UINT PrimitiveCount
);

여기 BaseVertexIndex + MinIndex + NumVertices 한 크기가 VB 전체 크기보다 작거나 같아야 합니다.
Locked