Visual 2008에서 OpenGL을 사용할려고 인터넷을 찾다보니..
opengl32.lib glu32.lib glut32.lib glaux.lib
라이브러리는 필수로 사용하는것처럼 되어있다..

그런데, 이놈의 VS2008은 glaux.h가 빠져있다.. ㅠㅠ (C++ Builder에는 잘 들어있는데...)

그런데, 웃긴것은 이 놈을 우선은 제거해도 된다는것... 

glut.h 함수만 사용해도 어느젇도 테스트 된다는것... 

정 필요하면... 웹에서 자료를 받아서 해당 폴더에 넣어주면 됨...


아래는 웹에서 찾은 자료...

[출처] http://tong.nate.com/kangdydtjs/44551101
1. OpenGL 이란?
* OpenGL 은 그래픽하드웨어가 제공하는 모든 기능들에 접근할 수 있는 수백개의 함수들을 모아 놓은것이다. 내부적으로  OpenGL은 하나의 state machine(상태기계) 처럼 작동한다. 개발자는 상태기계의 여러측면들(현재 색상, 조명, 혼합 등등)을 조사하거나 설정할 수 있다. 몇개의 상태들이 잘못 설정되면 최종적인 결과가 전혀 엉뚱하게 나오는 경우가 허다하므로,  OpenGL을 사용할때는 여러 상태들의 의미나 효과에 대해 잘 알고 있어야 한다. 
OpenGL 은 프로그래밍 언어가 아니다. 그것은 API(Application Programming Interface) 이다. API로써 OpenGL 라이브러리는 관례적으로 C를 따른다. 이것은 함수 자체가 C로 쓰여지거나 어셈블러나 다른 언어에 쓰여진 함수를 부르는 매개적 C함수가 제공되어 C가 API 에서 함수를 쉽게 부른다는것을 의미한다. (즉 우리는 C 를 사용해서 쉽게 OpenGL 을 사용)

2. OpenGL 구분
OpenGL  API는 서로 각기 다른 라이브러리로 구분된다. 
*  AUX 라이브러리에 대한 선언은 glaux.h 파일에 포함. 이 라이브러리에 포함되어 있는 함수는 정확히 OpenGL 만의 부분은 아니지만, OpenGL 을 불러내는 독립된 프레임위크를 제공하는 툴킷이다. 이 라이브러리의 모든 함수는 aux 로 시작된다. 

(tip: VS2008 에는 VS2005 까지는 있던(visual studio 2005 설치시 저절로 생기는) glaux.h 파일이 없네요. 구글에 가보니 왜 missing이냐 질문은 수백개인데 ms 욕해놓은 답말고는 아직 답변이 없네요^^. 이거 대신 뭘쓰라고 뺐냐는 질문에도 아직 답이 없구요- 책을 대략 찾아보니 aux 이용하는거는 옛날 방식이네요 아니 간단한 연습용에 주로 쓰이고 있네요. 살짝만 복잡한 그래픽 프로그래밍 코드를 보면 glaux.h 헤더 include 는 빠져있네요. 어쨌든 우리도 특별히 꼭 필요한경우에는 불러 쓰겠지만 일단은 이거 빼고 진행합시다-)

* OpenGL 을 실제로 정의하는 기능은 opengl32.dll 라이브러리와  그  gl.h 헤더파일에 들어있다. 이 라이브러리의 모든 함수는 gl 로 시작된다.

* OpenGL 유틸리티 라이브러리는 glu32.dll 과 그 glu.h 헤더파일이 있다. glu32.dll 과 glu.h 헤더파일은 구, 원반, 원통을 그리는것 과 같은 작업을 더 쉽게 만드는 유틸리티 함수가 포함되어 있다. 이 함수는 모두 glu 로 시작된다. 

* OpenGL 라이브러리와 헤더 정리
  1. Favicon of http://shinlucky.tistory.com BlogIcon shinlucky 2010.04.14 13:38 신고

    오홋 잘 읽고 갑니다.

[자료 출처] http://uzys.tistory.com/entry/AR-Toolkit-Library-%EB%B0%8F-%EA%B4%80%EB%A0%A8-%EC%82%AC%EC%9D%B4%ED%8A%B8-%EC%A0%95%EB%A6%AC 

혹시 몰라 자료 복사해옴..

AR관련라이브러리

FLARToolKit - Flash AR Tool Kit
http://www.libspark.org/wiki/saqoosha/FLARToolKit/en
demo - http://blog.papervision3d.org/2009/01/07/augmented-reality-with-flartoolkit/

MXR Toolkit - Only C 
http://mxrtoolkit.sourceforge.net/

Iphone용 AR TOOLKIT
http://www.artoolworks.com/ARToolKit_iPhone.html

JarToolkit 
http://sourceforge.net/projects/jartoolkit/

PyARTK - Python Binding for ARToolKit
http://mgldev.scripps.edu/projects/pyartk/

ARToolKitPlus - for mobile
http://studierstube.icg.tu-graz.ac.at/handheld_ar/artoolkitplus.php

NyARToolKit -PureJava or C# or C ****
http://nyatla.jp/nyartoolkit/wiki/index.php?FrontPage.en

AR 관련 사이트
일본
http://park7.wakwak.com/~blackbox/
미국
http://studierstube.icg.tu-graz.ac.at/handheld_ar/old_projects.php
http://projekt.medieninformatik.de/argui/05_links.htm
http://www.hcilab.pe.kr/links/linkIndex.html

설치관련 문서 및 튜토리얼
AR TOOLKIt 설치
http://203.241.190.120/cgl_board/view.php?id=seminar_under&page=2&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=vote&desc=asc&no=93
http://blog.daum.net/_blog/BlogView.do?blogid=0I9L6&articleno=2871843&categoryId=#ajax_history_home
http://blog.naver.com/julaki/80045599991

AR Toolkit Documentation and Tutorital
http://www.hitl.washington.edu/artoolkit/documentation/


상용화된 프로그램
전뇌피규어 ARis
http://www.youtube.com/watch?v=yCCx7zANsGE&eurl=http://blog.eufy.com/1071&feature=player_embedded
http://www.youtube.com/watch?v=o5ytkOgEaMU&eurl=http://www.rupaus.com/blog/127&feature=player_embedded

PS3 - EyePet
http://www.youtube.com/watch?v=KTarqm4FCDY&eurl=http://yoon-o.tistory.com/77&feature=player_embedded

ARToolkit + OpenVRML Setting 

다음 사이트를 참조..
http://calmarea.net/?p=167
  1. 조4 2010.08.17 22:12 신고

    몇군데 올렸는데 아무도 답변이 없어서.. 혹시 아실까해서 올려봅니다.
    openvrml 연동에는 성공해서 애니메이션까지 잘 확인하긴했는데요.
    제가 메모장열어서 wrl 파일을 만들어서 하려니 잘안되네요.
    이를테면 아래와 같이 박스를 하나 만들고
    #VRML V2.0 utf8
    Shape {
    appearance Appearance {
    material Material { }
    }
    geometry Box {
    size 20.0 20.0 20.0
    }
    }

    이걸 wrl 로 저장한다음 실행하니..
    마커를 움직이면 마커에서 물체가 이상하게 슬라이딩 되는 현상이
    발견됩니다.
    어떻게 보정해줘야 하는거죠?
    그냥 오픈지엘에서 그린 물체들은 멀쩡하게 잘 붙어있던데..
    한번 해보세요..

http://ilab.cs.ucsb.edu/projects/taehee/HandyAR/HandyAR.html

관심가는 부분 중 하나...

'S/W 개발 > ETC' 카테고리의 다른 글

ARToolkit Pro / NFT 설정 방법  (0) 2010.11.18
Handy AR  (0) 2010.04.01
윈도우용 특수 문자표  (0) 2010.03.04
XCOPY 사용 방법  (0) 2010.01.14
인쇄시에는 첨부 파일을 받아서 인쇄하세요.. 

                        

!',./:;?^_`| ̄、、。· ¨ ­ ´ ˇ ˘ ˝ ˚ ˙ ¸ ˛ ¡ ¿ ː

"()[]{}‘’ 〔〕〈〉《》「」『』【】

+ - < = > ± × ÷
∬ ∈

$ % ₩ F ¢ £ ¥ ¤ ㎕ ㎖ ㎗ ㎘ ㏄ ㎣ ㎤ ㎥ ㎥ ㎦ ㎙
㎚ ㎛ ㎜ ㎝ ㎞ ㎟ ㎠ ㎡ ㎢ ㏊ ㎍ ㎎ ㎏ ㏏ ㎈ ㎉ ㏈ ㎧ ㎨ ㎰ ㎱ ㎲ ㎳ ㎴ ㎵
 ㎶ ㎷ ㎸ ㎹ ㎀ ㎁ ㎂ ㎃ ㎺ ㎻ ㎼ ㎽ ㎾ ㎿ ㎐ ㎑ ㎒ ㎓ ㎔
㏀ ㏁ ㎊ ㎋ ㎌
 ㏖ ㏅ ㎭ ㎮ ㎯ ㏛ ㎩ ㎪ ㎫ ㎬ ㏝ ㏐ ㏃ ㏉ ㏜ ㏆

# & * @ §

㉿ ㈜ ㏂ ㏘   ªº

─│┌┐┘└├┬┤┴│━┃┏ ┛┗┣┳┫┻╋┠┯┨
┷┿┝┰┥┸╂┒┑┚┙┖┕┎┍┞┟┡┢

┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁╃╄╅╆╇╈╉╊

㉠㉡㉢㉣㉤㉥㉦㉧㉨㉩㉪㉫㉬㉭㉮㉯㉰㉱㉲㉳㉴㉵㉶㉷㉸㉹㉺㉻
㈀㈁㈂㈃㈄㈅㈆㈇㈈㈉㈊㈋㈌㈍㈎㈏㈐㈑㈒㈓㈔㈕㈖㈗㈘㈙㈚㈛

ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ
①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮
⒜⒝⒞⒟⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂

0123456789ⅰⅱⅲ ⅹⅠⅡ

½ ¼ ¾ ¹ ² ³ ₁₂₃₄

ㄱㄲㄳㄴㄵㄶㄷㄸㄹㄺㄻㄼㄽㄾㄿㅀ ㅁㅂㅃㅄㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅜ
ㅝㅞㅟㅠㅡㅢㅣ

ㅥㅦㅧㅨㅩㅪㅫㅬㅭㅮㅯㅰㅱㅲㅲㅳㅴㅵㅶㅷㅸㅹㅺㅻㅼㅽㅾㅿㆀㆁㆂㆃㆄㆅㆆㆇㆈㆉㆊㆋㆌㆍㆎ

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz

Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω α β γ δ ε ζ η θ ικ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω

Æ Ð Ħ IJ Ŀ Ł Ø Œ Þ Ŧ Ŋ æ đ ð ħ ı ij ĸ ŀ ł ø œ ß þ ŧ ŋ ʼn

ぁ あ ぃ い ぅ う ぇ え ぉ お か が きぎくぐ けぉ こ ご さ ざ し じ す ず せ ぜ そ ぞ た だ ち ぢ っ つ づ て で と ど な に ぬ ね の は ば ぱ ひ び ぴ ふ ぶ ぷ へ べ ぺ ほ ぼ ぽ ま み め も ゃ や ゅゆょよらりるれろゎわゐゑをん

ァアィイゥウェエォ オカガキギクグケゲコゴサザシジスズセ ゼソゾタダチヂッツ ヅテデトドナニヌネ ノハバパヒビピフブ プヘベペホボポマミ ムメモャヤュユョヨ ラリルレロヮワヰヱ ヲンヴヵヶ

А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я

'S/W 개발 > ETC' 카테고리의 다른 글

Handy AR  (0) 2010.04.01
윈도우용 특수 문자표  (0) 2010.03.04
XCOPY 사용 방법  (0) 2010.01.14
[펌]C언어: OpenMP를 이용한 멀티 쓰레드 프로그래밍 HOWTO  (0) 2009.12.23
XCOPY Source Target [/A | /M] [/D[:날짜]] [/P] [/S [/E]] [/V] [/W] [/C]
[/I] [/Q] [/F] [/L] [/H] [/R] [/T] [/U] [/K] [/N][/Z] [/Y]

Source  = 복사할 파일을 지정합니다.
Target  = 새 파일의 디렉토리와 또는 파일 이름을 지정합니다.
/A = 보관 속성을 가진 파일을 복사하며, 보관 속성을 수정하지 않습니다.
/M = 보관 속성을 가진 원본 파일을 복사하며, 보관 속성을 지웁니다.
/D:날짜 = 지정된 날짜 이후에 바뀐 파일만 복사합니다. 
              날짜가 지정되지 않으면, 대상 파일보다 새로운 원본 파일만 복사합니다.
/P = 각 대상 파일을 만들기 전에 물어봅니다.
/S = 비어 있지 않은 디렉토리와 하위 디렉토리를 복사합니다.
/E = 디렉토리와 하위 디렉토리를 (비어 있어도) 복사합니다.
       /S /E 스위치와 같으며, /T를 수정하는 데 사용될 수 있습니다.
/V = 각각의 새 파일을 확인합니다.
/W = 복사하기 전에, 아무 키나 누르라고 프롬프트합니다.
/C = 오류가 생겨도 복사를 계속합니다.
/I = 대상을 찾을 수 없고 두 파일 이상을 복사하면, 대상을 디렉토리로 지정합니다.
/Q = 복사하는 동안 파일 이름을 표시하지 않습니다.
/F = 복사하는 동안 원본과 대상 파일의 전체 경로 를 표시합니다.
/L = 복사는 하지 않고, 복사할 파일을 표시만 합니다.
/H = 숨겨진 파일과 시스템 파일도 복사합니다.
/R = 읽기 전용 파일을 겹쳐 씁니다.
/T = 파일은 복사하지 않고 디렉토리 구조만 복사합니다. 
       빈 디렉토리와 하위 디렉토리는 포함되지 않습니다. 
       /T /E 스위치를 함께 사용하면 빈 디렉토리와 하위 디렉토리를 포함합니다.
/U = 대상에 이미 있는 파일을 새로 고칩니다.
/K = 속성을 복사합니다. 
       일반적으로 Xcopy는 읽기 전용 속성을 지웁니다.
/N = 만들어진 짧은 파일 이름을 사용하여 복사합니다.
/Z = 다시 시작할 수 있는 모드에서 네트워크 파일을 복사합니다.
/Y = 존재하는파일을 겹쳐쓸것인지 일일이 묻지않고 복사합니다.(Yes To All)

'S/W 개발 > ETC' 카테고리의 다른 글

윈도우용 특수 문자표  (0) 2010.03.04
XCOPY 사용 방법  (0) 2010.01.14
[펌]C언어: OpenMP를 이용한 멀티 쓰레드 프로그래밍 HOWTO  (0) 2009.12.23
[펌] Tip of finding Bugs  (0) 2009.12.16
아이팟에서 구글 메일을 받으면 이상하게 일부 메일이 깨져 보인다.
이럴때.. 구글 메일을 다른 메일로 옮겨서 받자..

즉, 구글메일에서 전달 기능을 이용하는 것이다..

1. 구글 메일 로그인...
2. 환경 설정으로 이동
3. 전달 및 POP/IMAP으로 화면변경
4. 전달에서 받고자 하는 메일 주소(한메일일 경우 아이디@hanmail.net)를 적어준다..
5. 변경사항 저장을 누르면 끝...

한메일의 경우  IMAP 을 지원하니까.. 한메일에서 IMAP 설정 방법을 확인하고 주 메일을  한메일로 바꾸면 그동안 깨져 보이던 메일이 정상적으로 들어올 것이다.


  1. 퍼플림 2010.01.04 10:08 신고

    지메일 환경 설정에서 발신메일 인코딩을 보내는 메일에 유니코드(UTF-8) 인코딩 사용으로 변경 해보세요.

  2. 보내는 이메일은 유니코드로 바꾸면 되지만, 받는 메일은 계속 깨지더군요.

    저는 그래서 받는 것을 한메일로 받으니까.. 괜찮더라구요.. 깨짐도 없어지고..

  3. 2010.01.05 14:42

    비밀댓글입니다

C언어: OpenMP를 이용한 멀티 쓰레드 프로그래밍 HOWTO #1  http://sunyzero.egloos.com/4227785

더보기


C언어: OpenMP를 이용한 멀티 쓰레드 프로그래밍 HOWTO #2 http://sunyzero.egloos.com/4227785

더보기


C언어: OpenMP를 이용한 멀티 쓰레드 프로그래밍 HOWTO #3
  http://sunyzero.egloos.com/4234766

더보기


C언어: OpenMP를 이용한 멀티 쓰레드 프로그래밍 HOWTO #
4 http://sunyzero.egloos.com/4258873

더보기


 [원문] http://northwind.springnote.com/pages/69967 northwind 님의 노트중에서 발췌

Compiler options for finding Bugs #1

더보기

 

 

 

Compiler options for a debug build #1

더보기

 

 

 Compiler options for a release build #1

더보기

 

디버그 런타임 라이브러리 사용시 특징 #1

더보기

 

릴리즈 모드에서 디버깅 하기 #1'

 

 설정을 변경하면 디버깅은 잘되나 배포판을 만들 경우에는 변경된 옵션을 환원하고 빌드하자.

자주 써야 할 경우 빌드 타입을 하나 더 만들어서 사용하는 것도 한가지 방법이다.

 

 

vs 6.0 기준

더보기

vs .net 기준

더보기

 

Registers And Pseudo-registers #1

 Register값은 “Registers" 윈도우에서 확인이 가능하지만 단순하고 값만을 알수 있다. 이 값들을 ”Address(Watch)" 박스에서도 확인이 가능하며 여러 부가 기능과 같이 쓸수 있다.

 예를 들어 EAX의 값을 확인 해볼려고 하면 Watch 항목에 “@EAX"혹은 ”@eax"와 같이 대소문자를 구분하지 않고 넣으면 이 래지스터의 값을 확인 할 수 있다.

 또한 Pseudo-register"의 값또한 확인 할수 있는데. "@ERR"의 Pseudo-register 값은 매우 유용하게 사용할 수 있는데 이 값이GetLastError의 값을 나타내기 때문이다. 만약 “@ERR,hr"이라고 입력한다면 Win32의 에러코드에 해당하는 택스트를 보여 줄것이다.

 

 

더보기

 

 

 

Pseudo-registers that the Watch window supports #1

더보기

 

Watch Window Formatting Symbols #1

 Watch 윈도우는 변수의 값을 볼수 있게 해주는데, 값을 십진수나 16진수로서 확인할 수 있다. 16진수는 팝업 메뉴에서 “Hexadecimal Display"를 선택하면 볼수 있다. 이 이외에도 여러 가지 옵션을 주어서 사용할 수 있는데 이들은 Watch Window에 등록되는 변수명 뒤에 ","를 삽입하고 그뒤에 옵션을 주어 사용할 수 있다.

 

더보기

 

 

 

 

디버깅에 도움이 되는 메모리 마킹 패턴 #1'

 

 

더보기

 

가끔 오류가 발생했을 경우에  만날수 있는 magic number. ( 디버깅 모드에서만 byte pattern 으로 마킹됨. )

 

non-MFC 프로젝트에서 메모리 릭(Memory Leck) 검출

 mfc 프로젝트에서는 DEBUG_NEW 가 기본적으로 제공되므로 메모리 릭을 검출하기가 용의하다. 하지만 일반 프로젝트에서는 추가적인 설정이 필요하다.

더보기

 위와 같은 코드를 기초 인클루드 파일에 추가하면 된다. ( 예를 들어 StdAfx.h 와 같은 곳에.. )

그리고 아랫 내용을 cpp 파일의 상단(인클루드 아랫 부분)에 추가하면 된다.

더보기

그리고

더보기

위와 같이 App 최초 구동시 메모리 릭 검출 디버깅 옵션을 켜준다.

 

그러면 디버그 모드로 실행 했을 경우 App 종료시 output 창에 메모리 릭 발생시 메모리 릭 정보가  해당 소스 파일과 라인등 정보와 함께 출력되는 것을 볼수 있을 것이다.

 

실수 연산 오류 발생시 Exception 발생 시키기 #2

    int stat = _controlfp(0, 0);
   stat &= ~(EM_ZERODIVIDE);
   _controlfp(stat, MCW_EM);

와 같이  EM_ZERODIVIDE 옵션을 추가하였다면 0으로 나눌 경우 해당 코드 부분에서 exception이 발생하므로 발생 부분을 즉시 확인할 수 있는 효과가 있다. 기타 다른 옵션은 MSDN 에서 _controlfp를 찾아서 확인하자.

 

Special Floating-Point Values and Their Representations #3

더보기

*, 1.#QNAN 의 경우 1.#INF ( 무한대의 값 ) 으로 연산시에 발생함.

 

 Pure virtual Function Call #4

순수 가상 함수를 파괴자 등에서 호출하여 생기는 오류 검출 방법.

더보기

 References

더보기

+ Recent posts

티스토리 툴바