2017-12-29 12 views
0

나는 Libgdx에서 게임을 만들고 있습니다.전체 화면에 영향을주는 Libgdx 셰이더

셰이더 사용 방법을 알고있는 유일한 방법은 배치가 주어진 텍스처에 차례로 영향을 주도록하는 것입니다. 이것은 내 코드에서 일반적으로하는 것입니다.

shader = new ShaderProgram(Gdx.files.internal("shaders/shader.vert"), Gdx.files.internal("shaders/shader.frag")); 
batch.setShader(shader); 

그리고 필요한 코드가 전부입니다.

어쨌든, 텍스처 사이의 분리를 원하지 않습니다. 그러나 전체 스크린이 단지 하나의 커다란 텍스쳐처럼 쉐이더를 사용하여 한 번에 전체 스크린에 영향을 줄 수있는 방법을 찾지 못합니다. 내게는 쉐이더를 사용하는 가장 논리적 인 방법 인 것 같습니다.

그럼, 어떻게 이런 식으로 할 수 있는지 알고 있습니까?

+0

모두 하나의 배치를 사용하여 그립니다. – icarumbas

+0

쉐이더를 사용할 수있는 여러 가지 방법이 있습니다. 당신이하려는 일을 구체적으로 알면 대답하기가 어렵습니다. 색상을 변경하는 후 처리 효과를 사용하고 있습니까? 아니면 일을 픽셀 화합니까? 조명을 수정하거나 앤티 앨리어싱을 사용합니까? – Tenfour04

+0

대부분의 종류의 전체 화면 효과의 경우 일반적으로 모든 것을 프레임 버퍼 객체에 그릴 수 있으며 FrameBuffer의 텍스처를 특수 셰이더로 화면에 그릴 수 있습니다. – Tenfour04

답변

0

동일한 배치로 모든 텍스처 (플레이어, 액터, 풍경 등)를 그리고 동일한 셰이더를 사용하여 배경에도 영향을 주려면 배경에 화면 크기로 스틸 텍스처를 그립니다 동일한 배치로 그립니다.

관련 문제