Lua API/ko:Renderer
Renderer는 TPT의 렌더링 설정을 조작합니다. 당신은 이 기능들을 사용하여 렌더링/디스플레이 모드를 설정할 수 있으며 HUD/격자 설정의 몇가지를 바꿀 수 있습니다. 몇가기의 렌더링 함수들은 옛 버전인 tpt.* 에 있습니다.
이 카테고리 내의 기능들에는 무조건 renderer. 이나 ren. 이라는 접두사가 붙어야 합니다.
Contents
메소드
renderer.renderModes
table ren.renderModes() ren.renderModes(table newModes)
만약 아무런 인수 없이 사용하게 된다면, 현재 적용되고 있는 렌더링 모드들을 반환합니다. 만약 렌더링 모드들을 인수로 넣게 된다면, 인수로 넣은 렌더링 모드들을 적용하게 됩니다.
예제
이 예제에서 사용되는 값이 궁금하다면 렌더링 모드를 참조하세요.
사용되는 렌더링 모드 확인하기
for k,v in pairs(ren.renderModes()) do
print(k,"0x"..bit.tohex(v))
end
>>1, 0x00fff380; 2, 0xff00f270; 3, 0x0400f381
흐림 모드와 이펙트 모드를 같이 키기
ren.renderModes({ren.RENDER_BLOB, ren.RENDER_EFFE})
renderer.displayModes
table ren.displayModes() ren.displayModes(table newModes)
renderer.renderModes와 비슷하게 작동합니다. 만약 아무런 인수 없이 사용하게 된다면, 현재 적용되고 있는 디스플레이 모드들을 반환합니다. 만약 디스플레이 모드들을 인수로 넣게 된다면, 인수로 넣은 디스플레이 모드들을 적용하게 됩니다.
예제
이 예제에서 사용되는 값이 궁금하다면 디스플레이 모드를 참조하세요.
사용되는 디스플레이 모드 확인하기
for k,v in pairs(ren.displayModes()) do
print(k,"0x"..bit.tohex(v))
end
>>1, 0x00000002; 2, 0x00000010
잔상 모드와 압력 모드를 같이 키기
ren.displayModes({ren.DISPLAY_AIR, ren.DISPLAY_PERS})
renderer.colourMode
number ren.colourMode() ren.colourMode(number colourMode)
number ren.colorMode ren.colorMode(number colourMode)
색깔 모드는 오직 하나만 적용할 수 있기에, 이 함수는 이전의 함수들과 다릅니다. 만약 아무런 인수 없이 사용하게 된다면, 현재 사용하고 있는 색깔 모드를 반환합니다. 만약 색깔 모드를 인수로 넣으면, 그 색깔 모드를 적용하게 됩니다.
예제
이 예제에서 사용되는 값이 궁금하다면 색깔 모드를 참조하세요.
사용되는 색깔 모드 확인하기
print("0x"..bit.tohex(ren.colourMode()))
>> 0x00000001
열기 모드 적용하기
ren.colourMode(COLOUR_HEAT)
renderer.decoration
number ren.decorations() ren.decorations(number decoSetting)
만약 아무런 인수 없이 사용하게 된다면, 데코레이션 설정 유무를 0이나 1로 반환합니다. 만약 0이나 1을 인수로 넣으면, 0이라면 데코레이션 설정이 꺼지고, 1이라면 켜집니다.
renderer.grid
number ren.grid() ren.grid(number gridSize)
만약 아무런 인수 없이 사용하게 된다면, 격자의 크기를 반환합니다. 매 사이즈마다 격자의 크기는 4픽셀씩 오르게 됩니다. 만약 인수를 넣으면, 격자의 크기를 설정하게 됩니다. 범위의 제한은 없지만, -(음수)의 수치를 넣게 된다면 이상한 일이 벌어질 수 있습니다.
renderer.debugHUD
number ren.debugHUD() ren.debugHUD(number debugSetting)
만약 아무런 인수 없이 사용하게 된다면, 디버그 HUD의 유무를 0이나 1로 반환합니다. 만약 0이나 1을 인수로 넣으면, 0이라면 디버그 HUD가 꺼지고, 1이라면 켜집니다. (디버그 HUD란, D키를 눌렀을 때 나오는 HUD입니다.)
상수
입자 그래픽 모드들
이름 | 값 | 설명 |
PMODE | 0x00000FFF | 아무 PMODE 설정이라도 설정되어있는지 확인하는 비트마스크입니다. |
PMODE_NONE | 0x00000000 | 아무 입자들도 그리지 않습니다. 미사용. |
PMODE_FLAT | 0x00000001 | 기본적인 입자들을 색을 덮어씌워 그립니다. 기본적으로는 모든 입자들에 적용됩니다. |
PMODE_BLOB | 0x00000002 | 흐림 모드와 같이 모든 입자에 흐림 효과를 적용합니다. |
PMODE_BLUR | 0x00000004 | fancy 모드에 적용되는 블러입니다. 그래픽 함수가 사용되지 않는 모든 액체가 적용됩니다. |
PMODE_GLOW | 0x00000008 | fancy 모드에서의 DEUT와 TRON같은 발광 효과를 적용합니다. 대부분 몇몇 방사성의 입자들에게 적용됩니다. |
PMODE_SPARK | 0x00000010 | 전기 등의 입자에 광원 효과를 줍니다. |
PMODE_FLARE | 0x00000020 | BOMB같은 몇몇 입자들에 플레어 효과를 줍니다. |
PMODE_LFLARE | 0x00000040 | DEST가 다른 입자에 충돌할 때처럼, 몇몇 입자들에 매우 크고 아름다운 플레어 효과를 줍니다 |
PMODE_ADD | 0x00000080 | PMODE_FLAT과 비슷하지만, 색을 덮어씌우지 않고 색을 추가합니다. |
PMODE_BLEND | 0x00000100 | PMODE_ADD와 기본적으론 같지만, 더 나은 OpenGL 지원을 안겨다줍니다. |
PSPEC_STICKMAN | 0x00000200 | 스틱맨에게 쓰이고, 그 외의 것들은 건드리지 않습니다. |
OPTIONS | 0x0000F000 | 입자에 데코 설정이 되어있는지 확인하는 비트마스크입니다. |
NO_DECO | 0x00001000 | 입자들에게 데코레이션이 사용되지 않습니다. |
DECO_FIRE | 0x00002000 | 불같은 입자들에 데코를 적용합니다. 일단은 모든 가스들에게 적용되어 있습니다. |
FIREMODE | 0x00FF0000 | 아무 화염 효과라도 선택되어 있는지 확인하는 비트마스크입니다. |
FIRE_ADD | 0x00010000 | 약한 화염 효과를 적용합니다. FIRE_BLEND가 지원하는 많은 색들을 지원하지 않습니다. |
FIRE_BLEND | 0x00020000 | 더 힘세고 강한 화염 효과를 적용합니다. 모든 가스들은 기본으로 적용되어 있습니다. |
EFFECT | 0xFF000000 | 아무 특수효과라도 적용되어 있는지 확인하는 비트마스크입니다. |
EFFECT_GRAVIN | 0x01000000 | PRTI 효과를 적용합니다. life와 ctype이 업데이트 합수에서 제대로 설정되어 있지 않으면 작동하지 않습니다. |
EFFECT_GRAVOUT | 0x02000000 | PRTO 효과를 적용합니다. life와 ctype이 업데이트 합수에서 제대로 설정되어 있지 않으면 작동하지 않습니다. |
EFFECT_LINES | 0x04000000 | SOAP와 같이 연결된 입자 사이에 선을 그립니다. 다른 특수효과들에 모두 무시당합니다. |
EFFECT_DBGLINES | 0x08000000 | WIFI의 디버그 HUD 때와 같이 비슷한 온도의 같은 입자에 선을 그립니다. |