https://powdertoy.co.uk/Wiki/index.php?action=history&feed=atom&title=Lua_API%2Fko%3ARenderer Lua API/ko:Renderer - Revision history 2024-12-22T13:09:15Z Revision history for this page on the wiki MediaWiki 1.30.0 https://powdertoy.co.uk/Wiki/index.php?title=Lua_API/ko:Renderer&diff=7551&oldid=prev seven2965: ne il hae ya gi 2019-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 /> &lt;syntaxhighlight lang=&quot;lua&quot;&gt;<br /> for k,v in pairs(ren.renderModes()) do<br /> print(k,&quot;0x&quot;..bit.tohex(v))<br /> end<br /> &lt;/syntaxhighlight&gt;<br /> &gt;&gt;1, 0x00fff380; 2, 0xff00f270; 3, 0x0400f381<br /> <br /> 흐림 모드와 이펙트 모드를 같이 키기<br /> &lt;syntaxhighlight lang=&quot;lua&quot;&gt;<br /> ren.renderModes({ren.RENDER_BLOB, ren.RENDER_EFFE})<br /> &lt;/syntaxhighlight&gt;<br /> === renderer.displayModes ===<br /> table ren.displayModes()<br /> ren.displayModes(table newModes)<br /> renderer.renderModes와 비슷하게 작동합니다. 만약 아무런 인수 없이 사용하게 된다면, 현재 적용되고 있는 디스플레이 모드들을 반환합니다. 만약 디스플레이 모드들을 인수로 넣게 된다면, 인수로 넣은 디스플레이 모드들을 적용하게 됩니다.<br /> ==== 예제 ====<br /> '''이 예제에서 사용되는 값이 궁금하다면 [[#디스플레이_모드|디스플레이 모드]]를 참조하세요.'''<br /> <br /> 사용되는 디스플레이 모드 확인하기<br /> &lt;syntaxhighlight lang=&quot;lua&quot;&gt;<br /> for k,v in pairs(ren.displayModes()) do<br /> print(k,&quot;0x&quot;..bit.tohex(v))<br /> end<br /> &lt;/syntaxhighlight&gt;<br /> &gt;&gt;1, 0x00000002; 2, 0x00000010<br /> <br /> 잔상 모드와 압력 모드를 같이 키기<br /> &lt;syntaxhighlight lang=&quot;lua&quot;&gt;<br /> ren.displayModes({ren.DISPLAY_AIR, ren.DISPLAY_PERS})<br /> &lt;/syntaxhighlight&gt;<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 /> &lt;syntaxhighlight lang=&quot;lua&quot;&gt;<br /> print(&quot;0x&quot;..bit.tohex(ren.colourMode()))<br /> &lt;/syntaxhighlight&gt;<br /> &gt;&gt; 0x00000001<br /> 열기 모드 적용하기<br /> &lt;syntaxhighlight lang=&quot;lua&quot;&gt;<br /> ren.colourMode(COLOUR_HEAT)<br /> &lt;/syntaxhighlight&gt;<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=&quot;wikitable&quot;<br /> |-<br /> |&lt;b&gt;이름&lt;/b&gt;<br /> |&lt;b&gt;값&lt;/b&gt;<br /> |&lt;b&gt;설명&lt;/b&gt;<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