"Developement/C/C++" 검색결과 (71)
  • 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..

    Developement/C/C++
    2017.10.24 16:51
  • GLUT 3.7 MinGW-W64 용 Makefile

    필요 사항MSYS 1.0 또는 그 이상의 버젼MinGW-W64 GLUT 3.7 컴파일 먼저 GLUT 3.7 소스를 아래에서 다운로드 받습니다.https://www.opengl.org/resources/libraries/glut/ 기본적으로 GLUT 3.7 은 MinGW 에서 빌드 할 수 있는 뭔가를 제공하지 않아서 문제 인데, 이걸 빌드 하려면 Makefile 을 모두 수정 해야 해서, 이걸 직접 만들었습니다. 이제 아래의 제가 만든 Makefile 을 다운로드 합니다. 다운로드 한 파일을 GLUT 3.7 의 압축을 푼 곳에 복사 한 다음, Make install 을 하면 /usr/local/ ... 위치에 컴파일 된 DLL 및 A 가 복제 됩니다. 이게 다 입니다. 어렵지 않습니다. make 한 다음 ..

    Developement/C/C++
    2017.10.23 18:46
  • Windows 에서 BIOS dump 및 Parse (해석) 하기 소스코드

    이 프로그램은 작년에 만들었던 것이나, 소스를 오픈 하고 있지 않다는걸 늦게 알아서 지금에서야 공개 하게 되었습니다. 공개된 위치는 다음과 같습니다. https://bitbucket.org/rageworx/rk_bios_dump 소스코드 자체는 MIT License 를 따르며, 내부에 사용된 코드들 중 WinBIOS info (winbiosinfo.h/cpp) 는 BIOS 규격을 공표하는 DMTF / DSP0132 ( 2011-01-26 ) version 2.7.1 의 System Management BIOS (SMBIOS) Reference Specification 문서를 참조로 개발 중 이었던 코드 입니다. 대부분의 표준 SMBIOS 를 parse 할 수 있으나, 일부 Phoenix 사 BIOS 들은..

    Developement/C/C++
    2017.10.17 11:36
  • [FLTK] fl_imgtk 0.3.26.x 에서 Aero glass 효과 내기.

    이 글을 읽기 앞서 이해가 먼저 필요한 사항 FLTK 란 무엇인가?FLTK 1.3.4-1-tsfl_imgtk FLTK 는 여러 platform 에서 사용하기 좋은 GUI library 이나, FLTK 에서 이미지를 처리 하기 위해서는 뭐 아무것도 없는게 사실 입니다. 그래서 따로 fl_imgtk 란 것을 만들고, 이것을 통해 CPU 로만 여러 이미지 처리를 할 수 있도록 Open Source 로 제공 하고 있습니다. Public open 이므로 누구나 가져다 빌드 해 쓸 수 있으면 마음대로 쓸 수 있는 MIT License 를 적용하여 배포 중이나, 그리 유명세가 없다 보니 혼자 쓰는 단점이 생기는 것 같아 조금씩 이를 홍보해야 겠다는 생각이 들어 글을 쓰기 시작 했습니다. 일단 fl_imgtk 의 경우..

    Developement/C/C++
    2017.10.13 14:22
  • Polygon Fill, Anti-Alias 적용 폴리곤 채우기

    이전의 폴리곤 채우기를 만든 후, fl_imgtk 를 업데이트 하다 보니, 부드러운 alias 처리를 한 polygon 을 만들어 볼 필요가 생겼습니다. 그래서 여러가지 생각을 해 본 후, 빠르게 도달한 방법은 보통 게임에서 많이 쓰고 있는 Full Screen (여기선 Full Image) Anti-Alias ! 그냥 그리려는 이미지를 4배 ( 실제 변 길이는 2배씩이나, 실제 메모리는 4배가 됩니다. 즉, 2x2 에서 4x4 가 되면 면적은 4배가 되는 원리 ) 크게 만들어 두고 여기다 그리려는 좌표를 두배씩 연산해서 그린 다음, 이걸 다시 fl_imgtk 의 fast rescale 엔진을 이용해서 Bicubic resize 를 적용하면 되는 것 이었습니다. OpenMP 를 사용하기 때문에 오래 걸리..

    Developement/C/C++
    2017.07.28 10:21
  • Mac OS X 용 Medical RAW Viewer 0.7.8.221

    MacOS X 64bit 용 Medical Raw Viewer 0.7.8.221 을 현재 다음 위치에서 다운로드 받을 수 있도록 빌드 해 두었습니다. 이 프로그램은 Open source 로 개발 되고 있으며, 일부는 외부에서 만들어진 Open source 를 기반으로 하고 있습니다만, 이 또한 모두 Mac OS X 에서 빌드 될 수 있도록 고안되고 만들어 졌습니다. 단, Open source 자체는 모두 XCode 에서 개발 된 것이 아니라, llvm-gcc 와 Makefile 을 통해서 빌드 되도록 만들어 져 있으므로, XCode 외엔 사용을 못 하는 분들에겐 어려운 부분일 수 있습니다. Medical RAW viewer bitbucket web page : https://bitbucket.org/ra..

    Developement/C/C++
    2017.07.11 11:00
  • libcurl 을 MinGW-W64 에서 빌드시 오류 해결 방법

    CURL(libcurl) 7.54.1 을 MinGW-W64 와 M-SYS 를 이용한 환경에서 빌드 하려고 하면 다음 화면처럼 오류를 뿜고는 진행이 안되는 경우가 많다. 보통 ./configure 를 통해서 자동으로 설정된 상태로 진행을 하게 되는데, curl 의 경우 MinGW-W64 (또는 M-SYS 내장 MinGW 도 동일) 에서 마지막 curl.exe 를 빌드 하는 와중 cur_easy_getinfo() 함수 등으로 link 실패로 이를 진행 하지 못하는 버그가 있다. 이는 Makefile 상에서 만들어진 버그 또는 환경 버그 정도일수 있어 보이는데, 간단히 export 로 CFLAGS 에 CURL_STATICLIB 을 지정해 주면 된다. 분명 ./configure 상채로 staticlib 생성이 ..

    Developement/C/C++
    2017.07.03 17:20
  • Mac OS X 용 Medical RAW Viewer 작업 중.

    현재 Mac OS X 용 Medical RAW viewer 를 작업 중 입니다. 아직 Export Image 부분에서 오류가 나는 상태 입니다만 (FLTK 오류로 보임) 곧 이를 우회 하거나 다른 형태로 동작 할 수 있도록 수정 하도록 수정 중 입니다. 이 프로그램은 MRawViewer.app 으로 다운로드 할 수 있도록 베타 버젼을 올리고 있으며 아래 URL 에서 확인 할 수 있습니다. https://bitbucket.org/rageworx_applications/rawviewer/downloads/ 지원 하는 파일들은 16bit 값을 가지는 정수형 RAW 파일이나, 대부분의 DCM 파일들 입니다.

    Developement/C/C++
    2017.07.01 19:57
  • 의료영상용 CLAHE 적용에 암부 보정하기.

    방사선을 이용하는 의료영상에 기본적인 후보정 같은걸 안하면 대부분 알아보기 힘든 수준의 결과만 얻게 됩니다. 이런걸 인간이 시각적으로 차이를 구별하고, 더 나아가 의료진이 임상적인 판단을 돕기 위해서 LC(Local Contrast) 를 증가 시키는 방법을 사용하는데, 아마 이중 가장 오래되고 효과적이면서 많이 쓰이는 것이 Contrast Limited Adaptive Histogram Equalization (CLAHE) 알고리즘이 아닐까 합니다. 그런데 이 CLAHE 알고리즘을 그대로 사용하면 다음과 같은 문제가 생길 수 있습니다. 이 영상이 뭐가 문제인지는 바로 아래의 원본 영상을 대조 해 보면 차이를 알 수 있습니다. (빨간색 점선 안이 검게 타들어 가듯이 레벨이 전체적으로 변해 있는 것이 문제 ..

    Developement/C/C++
    2017.05.12 10:33
  • FLTK MPG123 GUI Player 0.1.0.2

    FLTK 1.3.4-1(-ts) 64bit 와, fl_imgtk + mpg123 64bit build DirectX 를 결합한 오디오 플레이어를 진행 중 입니다. 물론 mpg123 을 쓰기 때문에 mp3 까지만 재생 하기 때문에 fl_imgtk 로 GUI 효과를 주는 것에 대한 테크 데모 정도가 될 듯 합니다. 아래는 금일 까지 만든 데모의 실행 파일 입니다. 64bit Windows 에서만 구동 됩니다. 실제 mp3 를 test.mp3 란 이름으로 바꾸고 실행 파일과 함께 구동 하시면 album art 가 있을 경우 배경 이미지와, 이미지 전체를 자동으로 읽어 오게 됩니다. 음악 컨트롤은 따로 만들지 않았고, 설계가 Mac OS X 나, Linux 모두 구동 되도록 만들고 있기 때문에 내부에 audio..

    Developement/C/C++
    2017.04.02 22:11
  • DirectX Sound 전역 오디오 생성 방법.

    DirectX Sound 에서 기본적으로 버퍼를 생성 하는 부분에서 보통 다음과 같이 한다고 SDK 를 통해 알고 있었습니다만 이렇게 할 경우, 현재 CooperativeLevel 로 지정된 윈도우의 포커스를 잃을 경우 갑자기 소리가 안나옵니다 ! ZeroMemory( &dsdesc, sizeof( DSBUFFERDESC ) ); dsdesc.dwSize = sizeof( DSBUFFERDESC ); dsdesc.dwFlags = DSBCAPS_STATIC | DSBCAPS_CTRLPOSITIONNOTIFY; dsdesc.dwBufferBytes = size; dsdesc.lpwfxFormat = &wavfmt; 그래서 구글신에게 찾아 보니, 버퍼 생성시 하나의 flag 하나인 DSBCAPS_GLOBAL..

    Developement/C/C++
    2017.03.31 23:41
  • Coming soon FLTK MPG123 GUI player.

    이전부터 만들고 싶었던 아이폰 플레이어 답게 생긴 mp3 player 를 만들기 시작 했습니다. fl_imgtk 에서 만든 그래픽 처리 등등을 이용해서 앨범아트에 알파 마스크 씌어서 주변을 깍을수도 있고, 특정 크기로 모두 통일시킬수도 있고 하다 보니 제한된 영역 내에서 멋지게 표시되게 할 수 있는 처리 방법을 사용할 수 있게 되었습니다. 현재 mpg123 에 Direct X sound 를 붙여 보았는데, 나쁘진 않습니다만, DirectX 가 현재 할당된 윈도우의 포커스가 벗어 나게 되면 소리가 안나오는 관계로 결국 WASAPI 나 다른 방법을 써야 하게 되었습니다. 아니면 DXsound initialize 할때 다른 handle 을 넘겨 주면 되는건지 .. ??? 아무튼 GUI 는 그리 제 능력 안의 ..

    Developement/C/C++
    2017.03.31 19:18
  • FLTK 용 이미지 처리 라이브러리, fl_imgtk 업데이트.

    FLTK 용 이미지 처리 라이브러리인 fl_imgtk 의 새로운 업데이트를 GitHub 에 갱신 하였습니다. 별거 아닐 수 있긴 하지만, 뭔가 WPF 따위 안쓰고, QT 보다 매우 가볍고, 그렇다고 GTK+ 같은걸 도 안써도 되는 여러 조건에서 저에게 가장 적합한 것은 FLTK 뿐 이더군요. 하지만 너무 가볍게 만든 GUI 엔진이다 보니 그래픽 처리 부분은 거의 없다 싶이 하여, 만들게 된 것이 바로 fl_imgtk 입니다. M$VC 쓰는 분들이 FLTK 를 쓰는 경우가 거의 없다는 가정 하에, (사실 FLTK 를 쓰는 가장 큰 이유는 동일 소스로 Windows, Linux, Mac 에서 동일한 프로그램을 만들기 위한 목적) Windows 의 경우는 MinGW-W64 로 빌드 할 경우 가장 효과적인 성능..

    Developement/C/C++
    2017.03.29 18:32
  • FLTK 이미지 툴킷, fl_imgtk 공개

    그간 다른용도로(?) 쓰기 위해 만들어 오던 FLTK 용 이미지 처리 엔진의 일부인 fl_imgtk 를 공개 하였습니다. 소스는 github 에서 받으실 수 있으며, 누구나 제한없이 사용 가능한 MIT License 를 적용하고 있습니다. (물론 원래 소스들에 대해서는 각자 따로 기재 해야 하는 제한이 있을 수 있습니다) https://github.com/rageworx/fl_imgtk 소스코드는 gcc 나 llvm-gcc, 아니면 MinGW-W64 만 make 로 빌드 할 수 있도록 지원 합니다만, 별도로 프로젝트 파일을 만들어서 M$VC 등에서도 사용은 가능하나, 아마 FLTK 를 M$VC 에서는 쓰지 않을것으로 보입니다. QT 를 M$VC 에서 개발하지 않는 것처럼요. fl_imgtk 가 현재 지원..

    Developement/C/C++
    2017.03.28 18:45
  • FLTK 1.3.4-1 을 위한 fl_imgtk 개발 중.

    FLTK 를 쓰면서 항상 불편 한 점은 여러 있을 수 있겠습니다만, 기본적으로 이미지 처리를 하는 기능이 너무 빈약 하다 보니, 이런 점들을 하나 둘씩 만들어 쓰다가 결국 이번에 하나로 뭉치기로 하였습니다. 아직까진 개발중인 부분이 많다 보니 어디에 올리진 않고 있습니다만, 곧 정리가 더 되는데로 GitHub 나 BitBucket 에 올리는 것을 목적으로 할 예정 입니다. 기본적으로 현재 여러 기능들이 지원 되며, 그 항목은 다음과 같습니다. Fl_RGB_Image 를 이용한 다양한 처리 ( Fl_JPEG_Image 나 Fl_PNG_Image 의 color depth 3 이상이면 사용 가능 ) 이미지 고속 회전 90도, 180도, 270도이미지 자유 회전 0~359 도 (alias 처리는 하지 않음)밝기..

    Developement/C/C++
    2017.03.24 19:00