블로그 이미지
Every unexpected event is a path to learning for you.

카테고리

분류 전체보기 (2737)
Unity3D (817)
Programming (474)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (228)
협업 (58)
3DS Max (3)
Game (12)
Utility (136)
Etc (96)
Link (32)
Portfolio (19)
Team Project (3)
Personal Project (15)
Subject (90)
iOS,OSX (53)
Android (14)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday
04-19 00:04

'Portfolio/Personal Project'에 해당되는 글 15건

  1. 2010.03.08 BST(Binary Serch Tree)
  2. 2010.03.08 Typing of API
  3. 2010.03.08 그림판 / ScreenPen
  4. 2010.03.08 3D Software Rendering
  5. 2010.03.08 2D Software Rendering
  6. 2010.03.08 Ray Casting
  7. 2010.03.08 Software Physics
  8. 2010.03.07 ASE/MD2 Viewer(DirectX)
  9. 2010.03.07 ASE/MD2 Viewer(OpenGL) 2
  10. 2010.03.07 평면 그림자(Planar Shadow) Viewer(DirectX)



프로그램 소개

l  입력받은 개수만큼의 임의의 데이터로 BST를 생성하고, 자료를 정렬/검색하는 프로그램 입니다.

 

개발 내역

l  개발 환경 : Windows XP / VS2003

l  개발 언어 : C/C++, Win32 API

 

구현 내용

l  입력된 데이터 중 중간값을 찾아 균형 트리로 BST 생성(BST 최적화를 위해)

l  BST 정렬 기능 구현

l  Root부터 검색하는 값까지의 중간 노드 값도 출력

반응형

'Portfolio > Personal Project' 카테고리의 다른 글

Typing of API  (0) 2010.03.08
그림판 / ScreenPen  (0) 2010.03.08
3D Software Rendering  (0) 2010.03.08
2D Software Rendering  (0) 2010.03.08
Ray Casting  (0) 2010.03.08
Posted by blueasa
, |



프로그램 소개

l  Win32 API의 함수들에 익숙해지는 좋은 방법으로 API 함수명을 타자 게임과 접목시켜 봤습니다.

 

개발 내역

l  개발 환경 : Windows XP / VS2003

l  개발 언어 : C/C++, Win32 API

 

구현 내용

l  핫키/엑셀러레이터를 등록하여 단축키 적용

l  Caret 관련 함수 사용(항상 치고 있는 글자 뒤에 정확히 캐럿이 위치)

l  현재 화면글자 모두 삭제등 아이템 추가

l  사운드 추가

반응형

'Portfolio > Personal Project' 카테고리의 다른 글

BST(Binary Serch Tree)  (0) 2010.03.08
그림판 / ScreenPen  (0) 2010.03.08
3D Software Rendering  (0) 2010.03.08
2D Software Rendering  (0) 2010.03.08
Ray Casting  (0) 2010.03.08
Posted by blueasa
, |
[그림판]


[ScreenPen]
프로그램 소개

l  Win32APi를 이용하여 간단한 그림판 제작

l  바탕화면에 그림을 그릴 수 있는 ScreenPen 제작

 

개발 내역

l  개발 환경 : Windows XP / VS2003

l  개발 언어 : C/C++, Win32 API

 

구현 내용

l  그림판 : Win32 API GDIObject를 이용해 구현

  ¡  사각형/직선//연필/지우개/스프레이 기능

  ¡  외곽선색/배경색 Custom 수정 기능

  ¡  외곽선 두께 변경 기능

  ¡  도구상자가 메인창에 붙어다니게 구현

 

l  ScreenPen : 바탕화면에 낙서 등 그림을 그릴 수 있게 구현

  ¡  DC핸들을 얻을 때 바탕화면의 DC핸들을 얻어오면 그릴 수 있음.

  ¡  바탕화면의 DC핸들 얻기 à hdc = GetWindowDC( GetDesktopWindow() );

  ¡  그리기/지우기/칼라변경/두께조정 기능 구현

반응형

'Portfolio > Personal Project' 카테고리의 다른 글

BST(Binary Serch Tree)  (0) 2010.03.08
Typing of API  (0) 2010.03.08
3D Software Rendering  (0) 2010.03.08
2D Software Rendering  (0) 2010.03.08
Ray Casting  (0) 2010.03.08
Posted by blueasa
, |

3D Software Rendering.exe
다운로드

 

프로그램 소개

l  3D PipeLine을 소프트웨어적으로 구현하여 DIB Section을 이용해 도트그래픽으로 출력한 프로그램 입니다.

 

개발 내역

l  개발 환경 : Windows XP / VS2003

l  개발 언어 : C/C++, Win32 API

 

구현 내용

l  기본모델 생성      : 육면체, 오목다각형, (/경도, 4면체, 20면체)

l  출력 모드            : Wire Frame/Gouraud Shading/Texture Mapping

l  조명 제어            : Ambient/Diffuse/Specular 조정

l  재질 제어            : Ambient/Diffuse/Specular 조정

l  카메라 제어          : EulerAngle/LookAt

l  컬링 모드            : Backface Culling/Flustum Culling/Z-Buffering

l  매핑 모드            : Linear Mapping/Persperctive Corrected Mapping

l  투영 모드            : 단순원근 투영/원근 투영

l  WorldTM 제어      : Scale/Rotate/Translate 조정

반응형

'Portfolio > Personal Project' 카테고리의 다른 글

Typing of API  (0) 2010.03.08
그림판 / ScreenPen  (0) 2010.03.08
2D Software Rendering  (0) 2010.03.08
Ray Casting  (0) 2010.03.08
Software Physics  (0) 2010.03.08
Posted by blueasa
, |

2D Software Rendering.zip
다운로드

프로그램 소개

l  ///사각형/삼각형/클리핑/곡선/텍스쳐매핑을 DIBSection을 이용해 도트그래픽으로 구현한 프로그램 입니다.

 

개발 내역

l  개발 환경 : Windows XP / VS2003

l  개발 언어 : C/C++, Win32 API

 

구현 내용

l  Pixel()

  ¡  BMP텍스쳐를 DIBSection으로 메모리에 연결시켜 점을 출력할 메모리 비트에 원하는 색상값을 BGR순으로 입력하여 점을 출력

l  Line()

  ¡  직선 방정식

  ¡  DDA(Dightal Differential Analyzer) 알고리즘

  ¡  MidPoint 알고리즘

l  (Circle)¡  Sin(y), Cos(x) 함수를 이용한 방법

  ¡  원의 방정식을 이용한 방법

  ¡  MidPoint 알고리즘(조금 더 깔끔함)

  ¡  MidPoint With 2nd-Order Difference(float 연산을 줄여 속도를 높이기 위해 사용)

l  사각형(Rectangle)

  ¡  라인으로 사각형 그리기

  ¡  사각형 영역을 단색으로 채우기

  ¡  사각형 영역을 그라데이션으로 채우기(선형 보간)

l  삼각형(Triangle)

  ¡  라인으로 삼각형 그리기

  ¡  삼각형 영역을 단색으로 채우기

  ¡  삼각형 영역을 그라데이션으로 채우기(선형 보간)

  ¡  삼각형 영역을 텍스쳐로 매핑하기

l  클리핑(Clipping)

  ¡  Cohen-Surtherland 알고리즘(클리핑 영역을 # 모양으로 나누고 영역별 비트값을 두어 처리)

  ¡  Parameter 알고리즘(교차점에 대한 비율로 경계를 잘라냄) 

l  곡선(Curve)

  ¡  Hermite 알고리즘(끝점 2개와 접선벡터 2개를 이용)

  ¡  Bezier 알고리즘(끝점 2개와 접선벡터를 조절하는 2개의 제어점을 이용)

l  변환(Transformation) : Scale / Translate / Rotate

  ¡  Point = Vertex * Scale * Rotate * Translate

  ¡  V : Local상 점의 위치(x, y)

  ¡  Scale

Sx 0 0
0 Sy 0
0 0 1

¡  Rotate

Cosθ -Sinθ 0
Sinθ Cosθ 0
0 0 1

¡  Translate

1 0 0
0 1 0
dx dy 1

 

반응형

'Portfolio > Personal Project' 카테고리의 다른 글

그림판 / ScreenPen  (0) 2010.03.08
3D Software Rendering  (0) 2010.03.08
Ray Casting  (0) 2010.03.08
Software Physics  (0) 2010.03.08
ASE/MD2 Viewer(DirectX)  (0) 2010.03.07
Posted by blueasa
, |

RayCasting.exe
다운로드


 

프로그램 소개

l  픽셀마다 광선을 쏘아 평면과 구를 출력 할 수 있도록 DIBSection을 이용해 도트 그래픽으로 출력한 프로그램 입니다.

 

개발 내역

l  개발 환경 : Windows XP / VS2003

l  개발 언어 : C/C++, Win32 API

 

구현 내용

l  광선(반직선) 생성 : 시작점(화면 중심)과 방향(픽셀)으로 생성

l  광선과 평면의 충돌 : 평면방정식(P N = D)을 사용

l  광선과 구의 충돌 : 구방정식(C^2 + P^2 = R^2)을 사용

l  기존 폴리곤방식의 파이프라인(3D->2D)과 반대로 2D에서 3D로 좌표계를 이동

l  PixelShader를 사용한 것처럼 조명이 자연스럽게 반사 되는 장점이 있음

 

반응형

'Portfolio > Personal Project' 카테고리의 다른 글

3D Software Rendering  (0) 2010.03.08
2D Software Rendering  (0) 2010.03.08
Software Physics  (0) 2010.03.08
ASE/MD2 Viewer(DirectX)  (0) 2010.03.07
ASE/MD2 Viewer(OpenGL)  (2) 2010.03.07
Posted by blueasa
, |

Particle.exe
다운로드
Spring.exe
다운로드
Cloth.exe
다운로드

 

프로그램 소개

l  뉴턴의 운동방정식(F=ma)을 이용한 질점운동, 스프링, 직물(Cloth) 시뮬레이터 입니다.

 

 

개발 내역

l  개발 환경 : Windows XP / VS2003

l  개발 언어 : C/C++, Win32 API

l  참고 자료 : http://www.myphysicslab.com

 

 

구현 내용

l  질점운동(Particle) : 오일러 해법과 대수적 해법으로 질점운동 구현

l  스프링(Spring) : Runge-Kutta 방식으로 스프링 상수를 구하고, 후크의 법칙(F = -kx)로 힘을 구한 후 오일러 해법으로 질점운동 구현

l  직물(Cloth) : 질점 하나당 + 모양의 4개의 스프링을 연결시켜 직물 구현

반응형

'Portfolio > Personal Project' 카테고리의 다른 글

2D Software Rendering  (0) 2010.03.08
Ray Casting  (0) 2010.03.08
ASE/MD2 Viewer(DirectX)  (0) 2010.03.07
ASE/MD2 Viewer(OpenGL)  (2) 2010.03.07
평면 그림자(Planar Shadow) Viewer(DirectX)  (0) 2010.03.07
Posted by blueasa
, |
프로그램 소개

l  ASE / MD2 파일을 파싱해서 DirectX로 출력한 프로그램 입니다.

 

개발 내역

l  개발 환경 : Windows XP / VS2003

l  개발 언어 : C/C++, Win32 API, DirectX

 

구현 내용

l  OpenGL로 구현한 뷰어를 DirectX로 컨버팅

l  ASE       : 애니메이션을 제외한 모델의 정보(재질/정점/인덱스/텍스쳐UV)를 파일에서 읽어서 출력

l  MD2       : 프레임별 정점과 인덱스를 파일에서 읽어와 프레임 사이를 선형보간해서 출력
           
(Vertex Animation의 대표적인 파일 포멧)

반응형

'Portfolio > Personal Project' 카테고리의 다른 글

Ray Casting  (0) 2010.03.08
Software Physics  (0) 2010.03.08
ASE/MD2 Viewer(OpenGL)  (2) 2010.03.07
평면 그림자(Planar Shadow) Viewer(DirectX)  (0) 2010.03.07
HLSL(Hight Level Shader Language)  (0) 2010.03.07
Posted by blueasa
, |

[ASE Viewer for OGL]

 

[MD2 Viewer for OGL]

ASE Viewer(OGL).zip
다운로드
MD2 Viewer for OGL.zip
다운로드



프로그램 소개

l  ASE / MD2 파일을 파싱해서 OpenGL로 출력한 프로그램 입니다.

 

개발 내역

l  개발 환경 : Windows XP / VS2003

l  개발 언어 : C/C++, Win32 API, OpenGL

 

구현 내용

l  ASE       : 애니메이션을 제외한 모델의 정보(재질/정점/인덱스/텍스쳐UV)를 파일에서 읽어서 출력

l  MD2       : -  프레임별 정점과 인덱스를 파일에서 읽어와 프레임 사이를 선형보간해서 출력
               
(Vertex Animation의 대표적인 파일 포멧)
                 
-      Silhouette 구현
                 
-      Edge 구현

 

반응형
Posted by blueasa
, |

Planar Shadow.zip
다운로드

 

프로그램 소개

l  Planar Shadow를 구현해 본 프로그램 입니다.

l  모델은 Bone Animation을 사용한 SMD 포멧입니다.

 

개발 내역

l  개발 환경 : Windows XP / VS2003

l  개발 언어 : C/C++, Win32 API, DirectX

 

구현 내용

l  고저차가 없는 평면상에서 사용 가능한 평면 그림자를 구현했습니다.

l  고저차가 없어야 한다는 단점이 있지만, 빠른 렌더링이 가능하기 때문에 유용한 그림자 입니다.

반응형

'Portfolio > Personal Project' 카테고리의 다른 글

ASE/MD2 Viewer(DirectX)  (0) 2010.03.07
ASE/MD2 Viewer(OpenGL)  (2) 2010.03.07
HLSL(Hight Level Shader Language)  (0) 2010.03.07
ASM Shader(Multi Texture/UV Animation/Phong/Texture Mapping)  (0) 2010.03.07
BSP Viewer(DirectX)  (0) 2010.03.07
Posted by blueasa
, |