Allegro 5에서 게임을 프로그래밍 중이며 현재 드로잉 알고리즘을 연구 중입니다. 계산 후 나는 두 개의 ALLEGRO_BITMAP*
-objects로 끝난다. 그 중 하나가 그곳에 그려진 지형을 가진 나의 "장면"이고 다른 하나는 그림자지도이다.Allegro에서 비트 맵을 부분적으로 채색하는 방법이 있습니까?
장면은 단순히 비트 맵에 그려지는 게임 요소의 텍스처입니다. shadow-map은 이전에 렌더링 된 그림자에 밝은 색과 흰색 색의 검정색을 사용하는 비트 맵입니다.
화면의 비트 맵을 그리기 위해 나는 al_draw_scaled_bitmap(...)
과 al_set_blender(ALLEGRO_DEST_MINUS_SRC, ALLEGRO_ONE, ALLEGRO_ONE)
을 사용하여 쉐도우 맵의 흰색 요소를 빼내어 보이게 만듭니다.
내가 가진 문제는 이전에 모든 프레임에서 계산 된 모든 색조로 채색되도록 그림자 맵의 흰색 인 모든 픽셀을 갖고 싶다는 것입니다. 회색은 부분적으로 착색 됨).
최종 색은 rgb의 적색, 녹색 및 청색 채널에 대해 p = the pixel-color on the scene
및 c = the world-color
과 같이 계산 될 수 있습니다.
알레그로 5에서 부분 착색 효과를 얻을 수있는 방법이 있습니까? (대용량 오버플로가 아님) ?
나는 셰이더를 사용하는 것을 생각했지만, 이것들을 내 ALLEGRO_BITMAP*
-objects로 구현하는 해결책을 찾지 못했습니다.
비트 맵을 하위 비트 맵으로 나눌 수는 있지만 원하는 것은 아닙니다. 사진 몇 장을 포함시켜 주시겠습니까? 두 가지가 작동하며, 현재 가지고있는 것과 갖고 싶은 것. – rlam12