Visual C++(MFC)로 구현한 벡터기반의 와이어프레임 3D 폴리곤/렌더링 프로그램
*명*
다운로드
장바구니
소개글
3D 그래픽스 클래스 수강시 제작한 프로젝트입니다.Visual C++로 구현하였으며, OPENGL, D3D 같은 라이브러리는 일체 사용하지 않은 순수 수학적 계산 알고리즘으로 코딩되어 있습니다.
3D 데이터 파일인 OFF 파일을 읽어들여, 와이어 프레임을 생성하고 3D 파라메터인 From Position, Look vector, Up vector, Aspect ratio, Height angle, Clipping planes 등을 x, y, z, n 수치 조절가능하도록 되어 있습니다.
첨부된 3D 데이터 .OFF 파일 및 프로그램 소스 참조하세요.
컴파일 실행환경
Visual C++(MFC) 6.0 실행 소스코드가 포함된 프로그램본문내용
* 와이어 프레임 모델(WireFrame Model)- 윤곽선에 따라 표현하는 기법. 입력이 간단하므로 많이 사용됨
- 공간에 물체를 배치하는 것으로 물체의 중요한 특징을 점과 선으로 표현
- 도형에는 면과 속의 내용이 없고 뼈대만 있으므로 물체 내부에 자유로이 들어갈 수 있음
- 구, 원통, 입방체와 같은 간단한 모델을 합쳐 복잡한 모형을 만들어 내며,3차원 디지타이저를 사용하여 입력함
- 고속 표시가 가능하여 컴퓨터 그래픽 애니메이션의 움직임을 확인함
* 렌더링(Rendering)
- 컴퓨터 그래픽스 혹은 그 외의 방법으로 만들어진 이미지를 실제와 가깝게 만들어 내는 작업
- 물체의 표면을 처리하는 과정으로 가장 단순한 방식은 와이어 프레임을 평면으로 처리하여 색상을 입히는 것. 결과는 빠르나 조잡하므로 시험용으로 사용
- 모델링에 의해 작성된 모델을 최종적으로 하기 위한 처리 단계
- 처리 목적에 따라 셰이딩과 매핑방식으로 나눔
압축파일 내 파일목록
res/
res/p3d9784001.rc2
res/p3d9784001Doc.ico
res/p3d9784001.ico
res/Toolbar.bmp
off file/
off file/cone.off
off file/cross.off
off file/cuboctahedron.off
off file/dodec.off
off file/dodecahedron.off
off file/dragon.off
off file/epcot.off
off file/goblet.off
off file/helix2.off
off file/icosahedron.off
off file/icosidodecahedron.off
off file/king.off
off file/mushroom.off
off file/octahedron.off
off file/pear.off
off file/rhombicosidodecahedron.off
off file/rhombicuboctahedron.off
off file/rhombitruncated_cubeoctahedron.off
off file/rhombitruncated_icosidodecahedron.off
off file/seashell.off
off file/snub_cube.off
off file/snub_dodecahedron.off
off file/space_shuttle.off
off file/space_station.off
off file/sphere2.off
off file/TEST.OFF
off file/TEST2.OFF
off file/tetrahedron.off
off file/truncated_cube.off
off file/truncated_dodecahedron.off
off file/truncated_icosahedron.off
off file/truncated_octahedron.off
off file/truncated_tetrahedron.off
off file/x29_plane.off
MainFrm.cpp
MainFrm.h
p3d9784001.aps
p3d9784001.clw
p3d9784001.cpp
p3d9784001.dsp
p3d9784001.dsw
p3d9784001.h
p3d9784001.ncb
p3d9784001.opt
p3d9784001.plg
p3d9784001.rc
p3d9784001Doc.cpp
p3d9784001Doc.h
p3d9784001View.cpp
p3d9784001View.h
PanelDlg.cpp
PanelDlg.h
PanelDlg2.cpp
PanelDlg2.h
ReadMe.txt
Resource.h
StdAfx.cpp
StdAfx.h
Surface.cpp
Surface.h
WireFrame.cpp
WireFrame.h
res/p3d9784001.rc2
res/p3d9784001Doc.ico
res/p3d9784001.ico
res/Toolbar.bmp
off file/
off file/cone.off
off file/cross.off
off file/cuboctahedron.off
off file/dodec.off
off file/dodecahedron.off
off file/dragon.off
off file/epcot.off
off file/goblet.off
off file/helix2.off
off file/icosahedron.off
off file/icosidodecahedron.off
off file/king.off
off file/mushroom.off
off file/octahedron.off
off file/pear.off
off file/rhombicosidodecahedron.off
off file/rhombicuboctahedron.off
off file/rhombitruncated_cubeoctahedron.off
off file/rhombitruncated_icosidodecahedron.off
off file/seashell.off
off file/snub_cube.off
off file/snub_dodecahedron.off
off file/space_shuttle.off
off file/space_station.off
off file/sphere2.off
off file/TEST.OFF
off file/TEST2.OFF
off file/tetrahedron.off
off file/truncated_cube.off
off file/truncated_dodecahedron.off
off file/truncated_icosahedron.off
off file/truncated_octahedron.off
off file/truncated_tetrahedron.off
off file/x29_plane.off
MainFrm.cpp
MainFrm.h
p3d9784001.aps
p3d9784001.clw
p3d9784001.cpp
p3d9784001.dsp
p3d9784001.dsw
p3d9784001.h
p3d9784001.ncb
p3d9784001.opt
p3d9784001.plg
p3d9784001.rc
p3d9784001Doc.cpp
p3d9784001Doc.h
p3d9784001View.cpp
p3d9784001View.h
PanelDlg.cpp
PanelDlg.h
PanelDlg2.cpp
PanelDlg2.h
ReadMe.txt
Resource.h
StdAfx.cpp
StdAfx.h
Surface.cpp
Surface.h
WireFrame.cpp
WireFrame.h