알파를 정점색으로 줬는데... 그와 동시에 텍스쳐의 알파를 적용할 수 있나요?
제가 가진 자료로는 방법을 모르겠네요.
왠지 있을거 같은데...
제가 지금 구현하고자 하는 효과가 있습니다.
일정한 길이의 띠가 있고 이 띠는 변하지 않습니다.
그리고 이 띠 위에 뭔가 흐르는 모습을 UV 애니메이션으로 표현하려고 합니다.
문제는 양끝부분이 자연스럽게 보여기 위해서 투명해야하는데...
UV애니를 위해 준 텍스쳐에 이미 알파가 들어가있거든요.
어떻게 해야할지 모르겠습니다. 일단 생각해본게 정점의 알파를 조절하는건데....
하나의 정점이 두개의 UV를 가지거나 해서 동시에 여러개의 텍스쳐를 가질 수 없나요?
그럼 적당히 합성해서 사용할 수도 있을 거 같은데...
알파를 정점색으로 줬는데... 그와 동시에 텍스쳐의 알파를 적용할 수 있나요?
Moderator: 류광
-
- Posts: 225
- Joined: 2005-02-25 11:33
- Location: (주)위메이드엔터테인먼트 엔진개발팀
- Contact:
음...
IDirect3DDevice9::SetTextureStageState() 를 사용해 보세요.
D3DTEXTURESTAGESTATETYPE 에서
D3DTSS_ALPHAARG1 을 D3DTA_DIFFUSE 로,
D3DTSS_ALPHAARG2 를 D3DTA_TEXTURE 로 설정하시면 됩니다.
그리고
D3DTSS_ALPHAOP 를 D3DTOP_MODULATE 로 설정하시면 됩니다.
이렇게 하면 식은 다음과 같이 되겠죠.
result = diffuse * texture.
D3DTEXTURESTAGESTATETYPE 에서
D3DTSS_ALPHAARG1 을 D3DTA_DIFFUSE 로,
D3DTSS_ALPHAARG2 를 D3DTA_TEXTURE 로 설정하시면 됩니다.
그리고
D3DTSS_ALPHAOP 를 D3DTOP_MODULATE 로 설정하시면 됩니다.
이렇게 하면 식은 다음과 같이 되겠죠.
result = diffuse * texture.