MoniWiki¸Þ¸ðÀå_¼ÒÇÁÆ®¿þ¾î3D
Login:
Password:
´ë¹®|ã±â|¹Ù²ï±Û|¸ñ·Ï|¸Þ¸ðÀå|Ã¥°¥ÇÇ|¿¬²É|¸µÅ©
Edit Diff Reload Search Print Info Mail Help RSS

@ 2005-04-26 @

  ¼ÒÇÁÆ®¿þ¾î 3D

1.3D¿ø¸®¸¦ ÀÌÇØ
2.°¡¼ÓÄ«µå°¡ ³»ÀåµÇ¾î ÀÖÁö ¾Ê´Â ¸ð¹ÙÀÏ ±â±âµî °³¹ß
3.Shader ProgrammingÀÇ ÀÌÇØ¿Í ÀÀ¿ë
4.3D °¡¼Ó±â ÆÄÀÌÇÁ¶óÀÎ ¼³°è

        Æú¸®°ïÀ» Á¦ÀÏ ºü¸£°Ô Ç¥Çö ==> È­¸é¿¡ Ãâ·ÂÇÏÁö ¾Ê´Â °ÍÀÌ´Ù. (!)
(ÃÖÀûÈ­ÀÇ ±âº»Àº ¹«¸®ÇÏ°Ô ¸¹Àº Data¸¦ ó¸®(È­¸éÀ¸·Î Ãâ·Â)ÇÏÁö ¾Ê´Â °ÍÀÌ´Ù.)
  • Æú¸®°ï ·»´õ¸µÀÇ °æ¿ì ±âº»Data = ²ÀÁöÁ¡(Á¤Á¡)¿¡¼­ Ãâ¹ß.

  •           # ±âÃÊ Âü°í »çÇ×
              # ÁÂÇ¥/ ÁÂÇ¥°è º¯È¯
              # ¼ö¾÷ÀÏÁ¤
    {_r} ¸Þ¸ðÀåÀ¸·Î °¡±â


        ¡Ý ±âÃÊ Âü°í »çÇ×
    • 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
        (È­»ìÇ¥¸¦ ½ºÆ÷Æ®¶óÀÌÆ® ¹æÇâÀ¸·Î »ý°¢)
           

    • Æò¸éÀÇ ¹æÁ¤½Ä
      • ax+by+cz+d=0¿¡¼­ a,b,c´Â ÀÌ Æò¸éÀÇ ¹æÇâÀ» ³ªÅ¸³»´Â ¹ý¼± º¤ÅÍÀÌ°í, d´Â Æò¸é°ú ¿øÁ¡°£ÀÇ °Å¸®
        ÀÌ ½ÄÀ» ¸¸Á·ÇÏ´Â (x,y,z) ¹«¼öÈ÷ ¸¹Àº Á¡µéÀº ÀÌ Æò¸é À§¿¡ Á¸ÀçÇÑ´Ù.



        ¡Ý ÁÂÇ¥/ ÁÂÇ¥°è º¯È¯
    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 ¼ö¾÷½ÃÀÛ
    http://www.xmission.com/~legalize/book/preview/poster/ - The Direct3D Graphics Pipeline Poster
    20030722 2D rotate & translate
    20030723 3D Transformation
    20030724 Åõ¿µº¯È¯; ¿ø±ÙÀû¿ë
    20030725 ¿ø±ÙÀû¿ë - Á¾È¾ºñ¿¡ ¸Â°Ô ¼öÁ¤

    20030728 Camera LookatÇÔ¼ö
    IA-32A programmer's Guid
    ÄõµåÆ®¸®

    {_r} ¸Þ¸ðÀåÀ¸·Î °¡±â

    November, 2024
     12
    3456789
    10111213141516
    17181920212223
    24252627282930

    ¿À´ÃÀÇ ½ÇÆд Áö³­³¯ÀÇ ÇãºñÇÑ ½Ã°£µéÀÇ º¹¼ö´Ù(³ªÆú·¹¿Ë)

    Ã¥°¥ÇÇ_AIGameProgrammingWisdom
    Ã¥°¥ÇÇ_EnergyBus
    UploadedFiles
    WikiWiki
    last modified 2010-02-03 17:12:04
    °íÄ¡±â|ã±â|ÂÊ Áö¿ì±â|ºñ½ÁÇÑ ÂÊ Valid XHTML 1.0! Valid CSS! powerd by MoniWiki
    0.0219 sec