1
투명 픽셀이없는 배경과 투명한 픽셀이있는 일부 스프라이트가 있습니다. 다음 libGDX 워드 프로세서, 나는 이런 식으로 뭔가를하고 있어요 :libGDX enableBlending을 변경할 때마다 시작/종료가 필요합니까?
spriteBatch.begin();
spriteBatch.disableBlending();
spriteBatch.draw(background, ...);
spriteBatch.enableBlending();
spriteBatch.draw(sprite, ...);
spriteBatch.end();
그러나, 나는 당신이 때마다 종료/시작 사용할 필요는 제안이 블로그 게시물을 읽어 보시기 바랍니다.
http://www.rengelbert.com/tutorial.php?id=179&show_all=true
spriteBatch.disableBlending();
spriteBatch.begin();
spriteBatch.draw(backgroundRegion, 0, 0, 320, 480);
spriteBatch.end();
spriteBatch.enableBlending();
spriteBatch.begin();
spriteBatch.draw(someTextureRegion1, 10, 30);
spriteBatch.draw(someTextureRegion2, 50, 20);
spriteBatch.draw(someTextureRegion3, 30, 90);
spriteBatch.end();
이 정말 필요합니까?
내 코드가 작동하는 것 같습니다. 오류는보고되지 않지만 두 번째 예제보다 좋게 작동하는지 테스트하는 방법을 모르겠습니다.
감사합니다. 블렌딩이 활성화 된 상태에서 단일 800x480 텍스처를 렌더링하는 것의 차이보다 플러싱이 더 비쌉니까? –
플러싱은 블렌딩과 관련이 없습니다. 블렌딩 (또는 텍스처)을 변경하면 플러시가 발생하여 배치 (그 시점까지)가 렌더링됩니다. 따라서 플러시는 값 비싼 연산으로 간주되지만 단일 텍스처 렌더링은 상대적으로 (단지 4 개의 정점 만) 더 비쌉니다. – Xoppa