본문 바로가기

OpenGL

(8)
MinGW-W64 + glut32 예제 컴파일 하기 이전에 올린 MinGW-W64 에 기본으로 포함 되지 않는 glut32 를 만드는 방법을 다음으로, 간단히 OpenGL GLUT Example 페이지에 있는 blender.c 예제를 컴파일 해 보도록 하겠습니다. 먼저 아래의 압축 파일을 특정 위치에 푼 다음 (blender.c 소스 포함임) 해당 위치에 기존의 glut32.dll 을 복사 해 두고 make 를 해서 blender.exe 를 만들 수 있습니다. 단, 이 소스를 빌드 하기 이전엔 반드시 glut32 를 MSYS 에 make install 로 설치한 상태여야 합니다. Windows 의 정책 상 DLL 이 EXE 와 함께 있거나, Windows system 폴더 안에 복사가 되어 있어야 하므로, DLL 을 먼저 복사 해 오는 것을 고려해야 EX..
[FLTK]minGW 에서 OpenGL 3.x 사용하기 (Shader programming) 기본적으로 minGW 를 설치 하면 포함 되어 있는 OpenGL header 버젼은 1.2 대 버젼으로 현재 4.0 헤더가 크로노스 그룹에서 공개 된 걸 생각하면 한참이나 구시대의 유물인 상태 이다. 사실 이걸로는 GeForce2 나 RadeonX 시절의 pixel shader 없는 심심한 그래픽이나 그리는거 말곤 할수 있는게 없다. 이번엔 FLTK 에서 OpenGL shader programming 을 통한 YUV422 이미지를 Programming Object ARB 를 이용하여 texture 1+2+3 을 겹쳐 하나의 완성된 이미지로 만들어 내는걸 해 보기로 하면서 기본 MinGW 에서 수정 되어야 할 점과, OpenGL 프로그래밍을 할때 추가 해야 하는 부분들을 정리 해 보도록 하겠다. 먼저 기본..
DukeNukem3D , OpenGL 으로 돌릴수 있다. 세상이 참 좋아졌습니다. 이전 DOS 시절에 추억의 게임들이 다시 windows 용으로 다시 탄생하고 있으니까요. 이번에 발견한 것도 DOS 시절에 즐기던 DukeNukem3D 를 windows 용으로 돌릴 수 있도록 나온 것 입니다. 이름하야 - Eduke32 !!! 다운로드는 제작사 홈페이지 http://www.eduke32.com/ 에서 받을 수 있습니다. 5달러 주고 사는건 DOS 게임을 사는 것이고, 다만, 이 게임 역시 GPL 라이센스로 오픈된 구 DOS (Watcom C/C++ DOS32 extender 사용) 소스를 기반으로 만들어 진 것이기 떄문에 오리지날 게임 데이터가 필요합니다. 5달러 주고 살수 있다지만 .. 이건 미쿡 이야기 이구요. 국내에서 살 수 있는건 애시당초 불가능 했죠. ..
software rendering openGL ES 1.0 w/ minGW 3.14 윈도우 및 타 플랫폼에서 구동이 가능한 openGL ES 1.0 (+alpha) software render 를 일단 완성을 시켰습니다. 내부적으로 C++ template 가 좀 과도하여 minGW 에서 컴파일 성공 시키기가 쉽진 않았 습니다만 열심히 표준 class 규격을 맞춰 가며 내부 구현을 완료 하였네요. 지원되는 사항은 다음과 같습니다. eglInitialize(); eglCreateContext(); eglCreateWindowSurface(); eglDestroySurface(); eglGetCurrentContext(); eglGetCurrentDisplay(); eglGetCurrentSurface(); eglGetDisplay(); eglMakeCurrent(); eglSwapBuffe..
[주절거림]원호 그리기 ... 원호를 그리는 것은 부동소수점이 지원되는 플랫폼에서는 어렵지 않은 일 입니다만, 만약 FPU 가 없이 ALU만 있는 CPU 에서 처리 한다는 것은 꽤 어려운 일이 아닐수가 없습니다. 원호를 그리는 것에 있어서 ALU 로 그리게 하는 방법 중 하나는 cos(), sin() 등의 특정 FPU 연산 결과를 이미 index 로 가지고 있는 방법이 있을 수 있겠습니다. 예를 들면 ... static const WORD SIN_10[360] = { 0, 18, 36, 54, 71, 89, 107, 125, 143, 160, 178, 195, 213, 230, 248, 265, 282, 299, 316, 333, ... }; 와 같이 미리 계산된 고정된 수에 대한 integer 값들을 가지고 있는 것이 한 방법 이겠..
OpenGL 을 window DC 에 렌더링 하기 (Off-screen rendering) 에뮬레이터 라던가 , 이런 저런 이유로 OpenGL 을 활성화 된 window DC 에 그리지 않고 , 별도의 다른 컴퍼넌트와 함께 사용하거나 , OpenGL 로 렌더링 된 결과물을 가져와서 다른 가공 처리를 하고 싶을때가 간혹 많습니다. 그럴려면 OpenGL 렌더링을 Window DC 에 바로 하지 않고 처리를 해야 하는데 .. 이런 처리는 정말 찾기가 어렵죠. 그래서 온갖 방법을 다 동원 하다가 다음과 같이 방법을 찾았습니다. 이 방법은 현재 DEV-C++ 에서만 사용해 보았습니다만 , 응용 한다면 Delphi 에서도 사용이 가능해 보입니다. 실제 바로 사용으로는 delphi 에서 DC 에 바로 그리질 못하더군요 (아마 VCL 때문에 다른 차이점이 있어 보입니다.) 다음은 코드 입니다. 간단히 win..
C 코드로 된 OpenGL RGB888 텍스쳐 코드 뷰어. 이 프로그램은 OGLTM 으로 만들어진 RGB888 텍스쳐를 보거나 , 다른 툴로 만들어진 텍스쳐 코드를 볼수 있도록 해 주는 프로그램 입니다. C 코드로 된 거의 모든 텍스쳐를 볼수 있습니다. 다운로드
OpenGL 용 RGB888 텍스쳐 C 코드 생성기. 이 프로그램은 Windows 표준 BMP 로 부터 OpenGL 코딩에 사용이 가능한 RGB888 텍스쳐를 생성해 줍니다. C 코드는 물론, 바이너리 이미지 까지 생성이 가능하므로 , 프로그래밍에 많은 도움이 됩니다 ^^ 도시바에 다닐적에 S1G 보드에 OpenGL ES 데모를 위해 만들었던 프로그램 입니다. 다운로드