<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>라이팅 on GameSweetGame</title><link>https://gamesweetgame.com/tags/%EB%9D%BC%EC%9D%B4%ED%8C%85/</link><description>Recent content in 라이팅 on GameSweetGame</description><generator>Hugo -- gohugo.io</generator><language>ko</language><lastBuildDate>Wed, 03 Jan 2024 00:00:00 +0900</lastBuildDate><atom:link href="https://gamesweetgame.com/tags/%EB%9D%BC%EC%9D%B4%ED%8C%85/index.xml" rel="self" type="application/rss+xml"/><item><title>DirectX 라이팅 기초 — Ambient, Diffuse, Specular</title><link>https://gamesweetgame.com/p/directx-%EB%9D%BC%EC%9D%B4%ED%8C%85-%EA%B8%B0%EC%B4%88-ambient-diffuse-specular/</link><pubDate>Wed, 03 Jan 2024 00:00:00 +0900</pubDate><guid>https://gamesweetgame.com/p/directx-%EB%9D%BC%EC%9D%B4%ED%8C%85-%EA%B8%B0%EC%B4%88-ambient-diffuse-specular/</guid><description>&lt;h2 id="라이팅-계산"&gt;라이팅 계산
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-hlsl" data-lang="hlsl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;float4&lt;/span&gt; fvTotalAmbient &lt;span style="color:#f92672"&gt;=&lt;/span&gt; fvAmbient &lt;span style="color:#f92672"&gt;*&lt;/span&gt; fvBaseColor;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;float4&lt;/span&gt; fvTotalDiffuse &lt;span style="color:#f92672"&gt;=&lt;/span&gt; fvDiffuse &lt;span style="color:#f92672"&gt;*&lt;/span&gt; fNDotL &lt;span style="color:#f92672"&gt;*&lt;/span&gt; fvBaseColor;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;float4&lt;/span&gt; fvTotalSpecular &lt;span style="color:#f92672"&gt;=&lt;/span&gt; fvSpecular &lt;span style="color:#f92672"&gt;*&lt;/span&gt; pow( fRDotV, fSpecularPower );
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;return&lt;/span&gt;( saturate( fvTotalAmbient &lt;span style="color:#f92672"&gt;+&lt;/span&gt; fvTotalDiffuse &lt;span style="color:#f92672"&gt;+&lt;/span&gt; fvTotalSpecular ) );
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="메모"&gt;메모
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;saturate()&lt;/code&gt;는 0~1 사이의 값으로 클램핑&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HDR에서는 saturate 함수를 사용하면 안 됨&lt;/strong&gt; (1.0 이상의 값이 필요하기 때문)&lt;/li&gt;
&lt;li&gt;텍스처 압축하기 때문에 큰 용량 가능&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;림라이트&lt;/strong&gt;는 버텍스에서 노멀벡터와 연산 하는게 테크닉&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>