2014. 1. 6. 20:21

앞으로 사용될 기본 코드이다

Visual Studio 2010을 사용했다

Console Application을 사용했고

Empty Project이고 Unicode에서 구현한다

 

 

다음 소스는 기본 틀이다

맨 위의 주석 두 줄은 GPL License의 기본 틀이다

OpenGL 기본 세팅은 생략한다 다른 사이트를 참고하기 바란다

크게 다른 프로그램을 만들지 않는 한 Region 으로 구분, 코드를 추가한다

 

 

다음은 실행 결과이다

코드와 일치시켜서 알 수 있는 것은

4-3과 4-4의 코드가 적용 되었다는 것을 확인

4-3 윈도우 사이즈가 800 x 600 이다

4-4 윈도우 타이틀 제목이 "OpenGL Basic Code Window~~!!" 이다

4-8 은 GLUT 프레임 워크를 실행하는 기능이다

4-5는 화면의 사이즈가 변할 때 호출되는 콜백함수(ChangeSize)를 등록한다

4-6은 화면이 그려질 때 호출되는 콜백 함수를 등록한다

다음에 할 일은 창에 나타난 부분이 배경화면인데

이 부분을 지우는 부분을 구현하도록 한다

즉 창 바탕 화면을 원하는 색으로 칠해보도록 하자

 

* 프로그래밍 연습

1. 윈도우 사이즈를 400 x 200으로 수정해보자

2. 윈도우 타이틀 제목을 "Hello, World"로 바꾸어 보자

 

2014. 1. 6. 17:38

 


 

Classic+Radiosity.zip



VS2012 버전이고 OpenGL 기반이다

VS2012가 없으면 각 버전의 Visual Studio에 헤더와 소스를 추가시키고 OpenGL 링크하면 빌드가 된다

이 소스를 기반으로 대한민국 렌더링에 많은 발전이 있었으면 좋겠어요 ^^

2014. 1. 6. 17:25

자료는 모두 오픈입니다

각 항목에 대해서 PPT 자료를 따로 만들어 놓았으니

필요하신 분은 문의 바랍니다

기본적으로는 PDF 파일을 보내드리고

정말로 자기가 수정해서 잘 사용하고 싶다 하시는 분은

따로 문의 해주시면 PPT 파일 보내드립니다

소스 코드는 GPL 라이센스를 따릅니다

BSD 라이센스로 이용하고 싶은 사람은

lividious@naver.com 으로 문의 바랍니다

2014. 1. 6. 17:22

5년 만에 제대로 다시 자료를 정리하고 어느 정도까지 기술을 오픈하고

라이센스를 걸어야 할 지 모르겠다

상업적으로 많은 돈을 벌 수도 있고

GPL로 오픈 하자니 상업 쪽에서 안 쓰면 활용 가능성이 없을 수도 있고

BSD로 하자니 막 갖다 쓸 수도 있고 해서

우선 GPL 라이센스로 오픈하고 정말 상업적으로

필요하신 분들은 lividious@naver.com 으로 연락주시면

BSD 허가 여부를 알려 드리겠다

 

그리고 대부분은 핵심 코드만 올려놓거나 추상적으로 이론만 올려 놓으면

아무 도움도 안 되고 공부도 안 된다

 

물론 머리 좋은 사람은 단박에 알아낼 수 있지만 나 같은 사람은

그렇지 못하다

 

소스 코드만 올려 놓는다.

다이얼로그나 솔루션은 알아서 하시고

그러나 너무 복잡한 프로그램일 때는 같이 올려 놓는다

 

OpenGL, OpenCV, CUDA, Image Processing, Augmented Reality, 3D Reconstruction 에 관해 일단 자료 정리 하고

 

도전 분야는 Network Programming, Pattern Recognition, 동영상 프로그래밍에 관해 할 생각이다

 

추가 분야로는 리눅스, C#이 될 것이다.

 

다시 열심히 하자

 

 

 

 

2010. 1. 6. 21:02

UML Relation

프로그래밍 2010. 1. 6. 21:02

▶ 관계 (Relationship)
   1) Association
       - 구조적 관계 표현
       - 실선으로 표기, 필요에따라 Role Name , Multiplicity , Navigable 표시
       - 객체별 연관관계 표시
       - 두 클래스가 Association 관계에 있다면 한쪽에서 다른한쪽을 참조 할수 있음을 의미
       - Notation

       - Code
            class A{
                  B b;
             }
 
            class B{
            }
 
   2) Aggregation : 집합
       - 두 클래스가 Association 관계 이면서 전체와 부분의 관계 일경우
       - Notation
        - Rose에서 Association 표기 선택 후  마우스 오른쪽 클릭 Aggregate
 
   3) Composition : Aggregation의 특수한 경우
       - Aggregation의 특수 경우 이며 전체 소멸시 부분도 함께 소멸
       - 강한 소유의 표시
       - Notation     
      
      * Aggregation 선택후 Rose 에서 마우스 오른쪽 > Open Spec > By Value 체크
 
   4) Generalization : 일반화
       - 일반화된 개념적 사물과 구체화된 특수 사물의 관계 표현
       - 부모 자식 간의 상속 개념
       - 자식은 부모의 속성과 행동을 공유
       - Notation
    

   5) Realization : 실체화
       - 정의 와 구현 관계 표현
       - Use Case에 정의된 기능을 구현하는 Collaboration에 연결시 사용
       - 정의된 interface와 이를 구현하는 Class 연결시 사용
       - Notation
 
   6) Dependency 
       - 의존형 관계 표시
       - Class 간 의존은 필요할때 만들어 사용하여 버린다는 의미
       - Association 은 지속적이며 강한 관계, Dependency 는 일시적인 약한 관계
       - Notation
       
       - Code
 
          class A
          {
                void play(B b) 
               { 
               }
          }
 
         class B
         {
             int num;
         }
 
   7) Association Class 
       - Association자체가 속성을 가질때 클래스로 모델링 한다.
       - Notation

      
 
   8) Recursie Association
       - 동일한 클래스 내에서의 Association
       - Notation
 

출처 : [기타] http://blog.naver.com/blubeard/80035938698