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