1.3D¿ø¸®¸¦ ÀÌÇØ
2.°¡¼ÓÄ«µå°¡ ³»ÀåµÇ¾î ÀÖÁö ¾Ê´Â ¸ð¹ÙÀÏ ±â±âµî °³¹ß
3.Shader ProgrammingÀÇ ÀÌÇØ¿Í ÀÀ¿ë
4.3D °¡¼Ó±â ÆÄÀÌÇÁ¶óÀÎ ¼³°è
Æú¸®°ïÀ» Á¦ÀÏ ºü¸£°Ô Ç¥Çö ==> ȸ鿡 Ãâ·ÂÇÏÁö ¾Ê´Â °ÍÀÌ´Ù.
(ÃÖÀûÈÀÇ ±âº»Àº ¹«¸®ÇÏ°Ô ¸¹Àº Data¸¦ ó¸®(ȸéÀ¸·Î Ãâ·Â)ÇÏÁö ¾Ê´Â °ÍÀÌ´Ù.)
Æú¸®°ï ·»´õ¸µÀÇ °æ¿ì ±âº»Data = ²ÀÁöÁ¡(Á¤Á¡)¿¡¼ Ãâ¹ß.
- Vector °ö¼À
- _1.½ºÄ®¶ó°ö
- _2.³»Àû; dot product/ innor product - ½ºÄ®¶ó·®À¸·Î »êÃâ(cos - Á¤»ç¿µ)
-.µÎº¤ÅÍÀÇ »ó´ëÀûÀÎ °¢µµ¸¦ ¾Ë ¼ö ÀÖ´Ù.(³»ÀûÀÌ ¾ç¼öÀ̸é 90µµ À̳», À½¼öÀ̸é 90µµ ÀÌ»ó)
-.2°³ÀÇ º¤ÅÍ P(Xp,Yp,Zp), Q(Xq,Yq,Zq)¶ó ÇÒ¶§
P*Q = XpXq + YpYq + ZpZq = |P||Q|cos»çÀÌ°¢
-.ÀÓÀÇÀÇ Ç¥¸éÀÇ ¹ý¼±º¤ÅÍ¿Í ½Ã¼±º¤ÅÍ¿ÍÀÇ ³»Àû°ªÀ¸·Î Àº¸éÁ¦°Å¿¡ ÀÌ¿ë
-.»õ·Î¿î ÁÂÇ¥°è·Î º¯È¯ÇÏ°íÀÚ ÇÒ¶§ »õ·Î¿î ÁÂÇ¥°èÀÇ Ãà º¤ÅÍ¿¡ ³»Àû ¿¬»êÀ» ÅëÇØ ÁÂÇ¥°è º¯È¯
R(Xr,Yr,Zr)ÀÌ°í, º¤ÅÍ P,Q,RÀÌ ±âÀúº¤ÅͶó ÇÒ ¶§, V -> º¯ÈµÈ º¤ÅÍ W(Xw,Yw,Zw)´Â
Xw = P*V = XpXv + YpYv + ZpZv
Yw = Q*V = XqXv + YqYv + ZqZv
Zw = R*V = XrXv + YrYv + ZrZv
- _3.¿ÜÀû; cross product/ vector product - ¸éÀÇ ¹æÇâÀ» °áÁ¤(sin - ¸éÀû)
-.±³È¯¹ýÄ¢ÀÌ ¼º¸®ÇÏÁö ¾Ê°í, ¿Þ¼Õ( D3D), ¿À¸¥¼Õ(openGL) ÁÂÇ¥°è´Â ¹æÇâÀÌ ¹Ý´ë
- Á¡±¤¿ø(point light); ¹é¿ Àü±¸¸¦ ¸ðµ¨¸µÇÑ °ÍÀ¸·Î, Á¡±¤¿øÀ¸·Î ÁÖº¯À¸·Î ÆÛÁ®³ª°¡¸ç ±¤¿ø°ú ºûÀÌ ¹Ý»çµÉ Ç¥¸é°úÀÇ °Å¸®ÀÇ Á¦°ö¿¡ ºñ·ÊÇÏ¿© ¹à±â´Â °¨¼èÇÑ´Ù.
- _1.·Î·Î ¼ÎÀ̵ù; Á¤Á¡°ú ±¤¿ø°úÀÇ º¤Å͸¦ °è»ê
- _2.Æþ ¼ÎÀ̵ù; Çȼ¿°ú ±¤¿ø°úÀÇ º¤Å͸¦ °è»ê
- ¹ý¼±¸ÊÇÎÀº ¹ý¼± º¤ÅÍÀÇ ±âÁØ ÁÂÇ¥°è¿¡ µû¶ó
- _1.¿ÀºêÁ§Æ® °ø°£ ¹ý¼± ¸Ê(object space normal map)
-.¿ÀºêÁ§Æ®ÀÇ ¿øÁ¡ÀÌ ¹ý¼± º¤Å͵éÀÇ ¿øÁ¡, °¡Àå Á÷°üÀû
-.morphingµÇÁö ¾Ê´Â º®¸éÀ̳ª ¹Ù´Ú µî¿¡¼ »ç¿ëÇÏ´Â °ÍÀÌ ÁÁ´Ù.
-.¹°Ã¼°¡ ´ëĪÀ» ÀÌ·ç´õ¶óµµ ¹ý¼± ¸ÊÀº ¿ÀºêÁ§Æ® Àüü¿¡ ´ëÇؼ ¸¸µé¾î¾ß ÇÑ´Ù.
- _2.Á¢¼±°ø°£ ¹ý¼± ¸Ê(tangent space normal map)
-.¸ðµç ¹ý¼± º¤Å͸¦ °¢ Á¤Á¡ÀÇ Á¢¼± °ø°£À¸·Î º¯È¯ÇÏ¿© º¸°ü
-.RGB Áß¿¡¼ B °ªÀÌ 255À̹ǷΠÀüüÀûÀ¸·Î Ǫ¸¥»öÀ» ¶í´Ù.
- _3.ÀúÆú¸®°ï + ¹ý¼± ¸Ê = °íÆú¸®°ïó·³ º¸¿©ÁÖ´Â ±â¹ý
- _4.³ôÀ̸ÊÀÇ »ý¼º
-.³ôÀÌ ¸Ê¿¡ ÀÇÇÑ »ý¼º¹ý; NVIDIAÀÇ Æ÷Åä¼¥ Ç÷¯±×ÀÎ ¶Ç´Â D3DÀÇ D3DXComputeNormalMap()À» »ç¿ë
-.¿ÀºêÁ§Æ®¿¡ ÀÇÇÑ »ý¼º¹ý; ATIÀÇ NormalMapper(¸Æ½º ½ºÅ©¸³Æ®) ¶Ç´Â DiscreetÀÇ NormalRender Ç÷¯±×ÀÎ »ç¿ë
• ATI-style ; ±×¸° ä³ÎÀÌ ¼öÁ÷¼± ÀÂÊ
• NVIDIA-style ; ±×¸° ä³ÎÀÌ ¼öÁ÷¼± ¾Æ·§ÂÊ
• ³ë¸»¸Ê ¹é±×¶ó¿îµå Ä÷¯´Â ¼öÁ÷¼±ÀÌ ¹Ù±ùÂÊÀ¸·Î ¹Ù¶óº¸´Â µðÆúÆ® Ä÷¯ RGB(128, 128, 255)
-.ATI ±âÁØÀ¸·Î ¸ÊÀÇ ½Ã°è ¹æÇâÀ¸·Î µ¹°í ÀÖÀ» ¶§, red, green, blue, purple
(È»ìÇ¥¸¦ ½ºÆ÷Æ®¶óÀÌÆ® ¹æÇâÀ¸·Î »ý°¢)
- Æò¸éÀÇ ¹æÁ¤½Ä
1.ÁÂÇ¥º¯È¯; ¹°Ã¼ÀÇ À§Ä¡¸¦ Á÷Á¢ º¯È
2.ÁÂÇ¥°èº¯È¯; ÁÂÇ¥°è ÀÚü¸¦ ¹Ù²Û´Ù´Â °³³ä
3.ÁÂÇ¥°èÀÇ ¸íĪ
Model/ Local/ Object/ Definition ÁÂÇ¥°è (¹°Ã¼ÀÇ ¸ð¾ç Á¤ÀÇ)
== WorldTM(matrix); ¹°Ã¼¹èÄ¡ ==> World/ Univers ÁÂÇ¥°è
== ViewTM; Ä«¸Þ¶ó Á¶ÀÛ ==> Camera/ View/ Eye ÁÂÇ¥°è
== ProjectTM; Åõ¿µ, FOVÀû¿ë ==> Clip ÁÂÇ¥°è (¿ø±Ùó¸®)
== 1/W; homogeneous ==> NDC (Normalized Deviec Coordinate; Á¤±Ô ÀåÄ¡ ÁÂÇ¥°è)
-. Çػ󵵰¡ ´Þ¶óÁ®µµ ±×´ë·Î Ãâ·Â
== ViewTM ==> ViewPort/ Screen ÁÂÇ¥°è (Pixel ÁÂÇ¥°è)
-. ÁÂÇ¥ 1°³ = 1 pixel¿¡ ´ëÀÀ
4.°¢°¢ÀÇ ¹°Ã¼´Â WorldTMÀ¸·Î º¯È¯µÈ ÈÄ¿¡, WorldÁÂÇ¥°è¿¡ À§Ä¡Çϸç,
World ÁÂÇ¥°è¿¡ À§Ä¡ÇÑ ¹°Ã¼¸¦ ±âÁØÀ¸·Î ·»´õ¸µµÈ´Ù.
5. WorldTM = ScaleTM * RotationTM * TraslateTM·Î ±¸¼º( D3D(CW/ ¿Þ¼ÕÁÂÇ¥°è)±âÁØ)
20030714 Vertor ¼Ò°³, ÇÕ
20030715 Vertor °ö°ú ÀÌ·ÐÀû Àü°³ -> Vertor class ±¸¼º
20030716 3*3Çà·Ä -> Matrix class ±¸¼º
20030718 »ç¿ø¼ö(quaternion)ÀÇ ÀÌÇØ
20030721 Software 3D Engine ¼ö¾÷½ÃÀÛ
20030722 2D rotate & translate
20030723 3D Transformation
20030724 Åõ¿µº¯È¯; ¿ø±ÙÀû¿ë
20030725 ¿ø±ÙÀû¿ë - Á¾È¾ºñ¿¡ ¸Â°Ô ¼öÁ¤
20030728 Camera LookatÇÔ¼ö
IA-32A programmer's Guid
ÄõµåÆ®¸®
|
"Say it, don't spray it!"
MoniSetup
¹°_°üÀ½
HGL_01Milestone
Try Essence_µðÁöÅм¸í
|