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} 메모장으로 가기

    April, 2025
     12345
    6789101112
    13141516171819
    20212223242526
    27282930 

    얕은 지식은 위험하다.

    FoafMacro
    HelpOnLinking
    책갈피_WorkToLook
    바람_gems
    last modified 2010-02-03 17:12:04
    고치기|찾기|쪽 지우기|비슷한 쪽 Valid XHTML 1.0! Valid CSS! powerd by MoniWiki
    0.0187 sec