개인 자료란 (JE)

  서버 커뮤니티

Profile Towercrain 대표칭호 없음

Towercrain 168d45d0d93d4521ace38d81e7cea4ed

Profile

자료 공통 리뷰, 강좌 그외의 분야

[옵티파인 셰이더 강좌] 첫 셰이더 만들기

2023.05.24 조회 수 289 추천 수 2

관련 글 :

  1. [옵티파인 셰이더 강좌] 전체적인 렌더링 과정에 대한 설명
  2. [옵티파인 셰이더 강좌] gbuffers fallback tree
  3. [옵티파인 셰이더 강좌] 첫 셰이더 만들기


기본적으로 옵티파인 셰이더는 다음과 같은 구조를 가집니다.

[셰이더팩 이름을 가진 최상위 폴더]

    shaders

        world0

            (오버월드 전용 셰이더 프로그램)

        world1

            (엔드 전용 셰이더 프로그램)

        world-1

            (네더 전용 셰이더 프로그램)

        (각종 .properties 파일)

        lang

            (각 언어 별 설정창 문구 설정용 .lang 파일)

또는

[셰이더팩 이름을 가진 최상위 폴더]

    shaders

        (모든 차원에서 공통으로 사용하는 셰이더 프로그램)

        (각종 .properties 파일)

        lang

            (각 언어 별 설정창 문구 설정용 .lang 파일)

다음은 실제 셰이더의 제작 과정입니다.


비디오 설정 -> 셰이더 -> 셰이더 폴더

과정을 통해 셰이더 폴더를 엽니다.


아무 이름으로 셰이더 폴더를 만들고, 그 안에 들어가 shaders 폴더를 만든 다음, 그 안에 들어갑니다.


그리고 가장 기본적인 셰이더인 final 셰이더를 만들어줍니다.


프로그램을 만들기로 한 이상 우리는 개발자이기에, 파일 확장명을 표시해 수정이 용이하도록 하는 것을 권장합니다.


이제 각각의 프로그램을 작성하면 되는데

사용하는 언어는 GLSL로, 마인크래프트의 렌더링에 사용되는 OpenGL의 셰이딩 언어입니다.

여기는 GLSL 강좌가 아니니 구체적인 문법 설명을 생략하지만

처음이니 간단히 코드를 따라적는 것에서부터 시작합니다.


만약 제대로 따라 적었다면 아마 이런 화면을 볼 수 있을겁니다.

이런! 에러가 났군요


하지만 이상한 화면에 놀라지 않아도 됩니다.

대부분의 에러는 사소한 오타 등에 의해 생기며

어디에서 에러가 났는지는 로그창에 전부 뜨기 때문에 쉽게 고칠 수 있죠 


만약 로그창이 없다면, 런쳐 설정에서 로그창을 활성화 할 수 있습니다.

(로그창은 마인크래프트 시작 시에만 켜집니다.)


로그를 보면 final 셰이더 중 vsh 셰이더의 17번째 줄 근처에서 에러가 난 것으로 보입니다.


예상대로 17번째 줄 근처에 원인이 있었고, 세미콜론을 안 찍은 것이었습니다(...)

 

바로 고치고 실행해보죠

 

(옵티파인에서, 셰이더는 F3+R로 새로고침할 수 있습니다.)


그럼 아마 이런 화면이 보일겁니다.

...잠깐, 창 닫지 말아주세요


이 셰이더는 입력을 그대로 출력하는 셰이더이기 때문에 기본 마인크래프트의 출력이 그대로 나타난 겁니다.

코드 또한 받은 색상을 그대로 돌려주는 것이었죠


중요한 점은, 색상을 운반하는 경로를 우리가 직접 만들었기 때문에

색상을 입맛대로 조작할 수 있습니다.


이제 우리는 적록색맹 시뮬레이터를 만들거나 


빨간색과 초록색을 뒤바꿀 수도 있고


또는 약간 더 복잡한 코드로

레이트레이싱을 할 수도 있





Warning
댓글이 없습니다.

새로운 댓글을 등록해 주세요!

뉴스 및 창작물
/files/thumbnails/439/832/003/262x150.crop.jpg?20240711073840

레드스톤

【Ado】루루 (RuLe) | 피아노 & 노트블럭 커버

노트블럭전문가

2024-07-11

0

/files/thumbnails/600/818/003/262x150.crop.jpg?20240622093723

레드스톤

[마크 피아노커버] 에반게리온 잔혹한 천사의 테제 2

노트블럭전문가

2024-06-22

2

/files/thumbnails/647/816/003/262x150.crop.jpg?20240619112336

건축

숭례문(프리퀄) 2

KHC

2024-06-19

0

/files/thumbnails/308/815/003/262x150.crop.jpg?20240617084353

레드스톤

[피아노커버] 디스코드 - QWER 3

노트블럭전문가

2024-06-17

1

/files/thumbnails/932/812/003/262x150.crop.jpg?20240622110502

업데이트

마인크래프트 1.21 정식 업데이트

학교가기싫다

2024-06-14

1