2012-03-14 4 views
3

OpenGl에서 파티클 시스템을 만들었습니다. 화재 나 빔이나 무언가의 불타는 효과를 원할 때 (시스템 종류가 "빛나고 모든 색상을 융합하는"경우)이 메서드 호출을 OpenGL과 함께 사용합니다.DirectX와 glBlendFunc (............)

glBlendFunc(GL_SRC_ALPHA,GL_SRC_ALPHA) 
glBlendFunc(GL_DST_ALPHA,GL_ONE) 
지금 Direct3D를

여기

를 사용하여 같은 일을 할 노력하고있어

내가 시도 것입니다 :

graphicsDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE); 
graphicsDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA); 
graphicsDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_ONE); 

하지만이의 모습에 전혀 전혀 영향을 미치지 않습니다 내 경기! 누구나 문제가 될 수있는 단서가 있습니까?

+0

정확히 어떤 효과를 얻으려고하는지 분명하지 않습니다. 2 가지 (src/dst) ARGB 색상의 예제에서 더 자세히 설명해 주시겠습니까? – real4x

+0

나는 어떤 효과도 얻으려고하고있다. 그리고 내 질문에 내가 위의 glBlenFunc() 호출과 동일한 효과가됩니다 해당 directX 호출 찾고 있어요. –

답변

0

시도 :

graphicsDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE); 
graphicsDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA); 
graphicsDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA); 
+0

코드를 시도하고 여전히 효과가있었습니다. 나는 다른 곳에서 진행되는 일이 있다고 생각한다. 어쩌면 장치가 설치된 방법이 잘못되었습니다 –

0

난 그냥 OpenGL을 전환 끝났다. 그러나 도움을 주신 분들께 감사드립니다. D

+1

이제는 교차 플랫폼이 될 수 있습니다. – awiebe

관련 문제