2010-11-18 4 views
0

내가 BlitzMax, 스타 워즈 광선 검 또는 laserbeam 같은에서 빛나는 라인 효과를 찾고 있어요에 라인 효과를 빛나는 2D 네온을 생성하는 단계를 포함한다. 실시간 일 필요는 없지만 TImage 객체에만 적용한 다음 나중에 애니메이션에 사용할 수 있도록 PNG에 저장할 수 있습니다. 3D 기능을 사용해도 행복하지만 2D 게임에서 사용할 수 있습니다. BlitzMax는 - PNG 파일

는 블랙/공간 배경에있을 것입니다 때문에

내 전략은 색상과 투명도가 높은 흰색 흐리게 라인, 덜 흐리게 더 흰색 후 결국 중앙 일련의 선을 그릴 것입니다. 제가 그려야 할 것은 실제보다 곡선이 더 작습니다. 곡선을 그리는 것은 충분히 쉽게,하지만 난 아주 분할 찾고 나온다 때문에 좋은 레이저/네온 효과를 위의 방법을 사용할 수 없습니다. 그래서, 잘 보이는 부분에 흐림 효과/쉐이더를 사용하는 것이 더 좋을 수 있다고 생각합니다. 이는 1 픽셀 베 지어 커브입니다. 내가 꾸게

문제는 다음과 같습니다

  • 선이 그려진 화면의 단지 특정 영역에 셰이더를 적용. 텍스처에 선을 그려서 텍스처를 흐리게 처리하고 png를 저장하는 방법이 있다면 듣기 좋을 것입니다. 이 작업을 수행 할 수있는 방법이 있어야하지만, 아직 제대로 작동하는 요소를 얻지 못했습니다. 이 물건에 익숙한 사람의 도움을 받아 주시면 감사하겠습니다. 단지 2D 전화를 사용
  • 이해하고 다시 사용하기 간단하고 유용 할 수 있습니다.
  • 은 투명도/알파 물건을 보존하는 PNG를 저장하는 방법을 알고 아주 좋은 것입니다.

추신 이 게시물 (및 기타)을 검토하고 샘플 작업을 수행하며 내 5x5 셰이더를 개발했습니다. 그러나 3D이거나 2D 또는 특정 영역으로 잘 변환되지 않는 장면 전체의 것입니다. http://www.blitzbasic.com/Community/posts.php?topic=85263

답변

0

좋아, 그럼 난 BlitzMax 모르는, 그래서 구현에 관한 많은 세부 사항으로 갈 수 있지만, 몇 가지 포인터를 제공하기 위해 다음의 특정 부분에 쉐이더를 적용

  • 을 이미지 만 사용하는 경우 장면을 구성하는 데 여러 개의 렌더링 패스를 사용하는 것이 좋습니다.
  • 픽셀 액세스가있는 경우 조각 쉐이더와 동일한 작업을 수행하는 것은 당연히 2D의 "oldskool way"입니다. getpixel/setpixel과 같은 것입니다. 그러나이 방법으로 성능이 훨씬 떨어집니다.
  • 알파 채널이있는 텍스처가있는 경우 알파 채널이있는 PNG로 저장하면됩니다. (미안하지만, BlitzMax에서이를 구체적으로 수행 할 방법이 없습니다). RGBA 모드를 사용하고 있는지 확인하십시오.
+0

BlitzMax를 사용하면 셰이더를로드 할 수 있으며 조각 용 작업 예제가 있지만 화면의 특정 영역에 셰이더를 적용하는 방법이나 한 이미지에만 적용하는 방법이 명확하지 않습니다. 블리츠 맥스 특유의 정교함이 없이는 너무 큰 주제 일 것입니다. 포인터를 가져 주셔서 감사 드리며, 취미 프로젝트로 돌아간 후 며칠 내로 내가 무엇을 생각해 낼 수 있는지 보겠습니다. – zanlok