알파를 정점색으로 줬는데... 그와 동시에 텍스쳐의 알파를 적용할 수 있나요?

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

Moderator: 류광

Locked
비회원

알파를 정점색으로 줬는데... 그와 동시에 텍스쳐의 알파를 적용할 수 있나요?

Post by 비회원 »

알파를 정점색으로 줬는데... 그와 동시에 텍스쳐의 알파를 적용할 수 있나요?

제가 가진 자료로는 방법을 모르겠네요.

왠지 있을거 같은데...


제가 지금 구현하고자 하는 효과가 있습니다.

일정한 길이의 띠가 있고 이 띠는 변하지 않습니다.

그리고 이 띠 위에 뭔가 흐르는 모습을 UV 애니메이션으로 표현하려고 합니다.

문제는 양끝부분이 자연스럽게 보여기 위해서 투명해야하는데...

UV애니를 위해 준 텍스쳐에 이미 알파가 들어가있거든요.

어떻게 해야할지 모르겠습니다. 일단 생각해본게 정점의 알파를 조절하는건데....


하나의 정점이 두개의 UV를 가지거나 해서 동시에 여러개의 텍스쳐를 가질 수 없나요?

그럼 적당히 합성해서 사용할 수도 있을 거 같은데...
lifeisforu
Posts: 225
Joined: 2005-02-25 11:33
Location: (주)위메이드엔터테인먼트 엔진개발팀
Contact:

음...

Post by lifeisforu »

IDirect3DDevice9::SetTextureStageState() 를 사용해 보세요.

D3DTEXTURESTAGESTATETYPE 에서

D3DTSS_ALPHAARG1 을 D3DTA_DIFFUSE 로,
D3DTSS_ALPHAARG2 를 D3DTA_TEXTURE 로 설정하시면 됩니다.

그리고

D3DTSS_ALPHAOP 를 D3DTOP_MODULATE 로 설정하시면 됩니다.

이렇게 하면 식은 다음과 같이 되겠죠.

result = diffuse * texture.
Locked