"Source" 검색결과 (14)
  • 보케 효과를 만들어 보기 #1

    심도가 낮은 렌즈와, 큰 크기의 촬상면을 가진 DSLR 같은 종류가 아니면 찍기 힘든 사진이 있다면 아마 배경이 뭉개진 이미지들이 아닐까 합니다만, 사실 단순이 Gaussian blur 만 줘서는 큰 렌즈의 빛의 굴절로 인해 생기는 일명 Bokeh 라는 형태를 만들어 내기가 쉽지는 않습니다. 그래서 어떻게 Bokeh 를 만들어 낼까? 란 고민을 하다 scratchpixel.com 에 한 페이지를 보게 되었습니다. circualr shifting 이라는 형태를 가지고 빛이 렌즈와 조리개를 통해 촬상면에 맺히는 형태를 흉내 낸 시뮬레이션 정도 이긴 합니다만 꽤 그럴싸한 결과물을 얻을 수 있었습니다. 원래 소스는 조금 복잡한 처리를 해야 하나, 제가 이를 조금 수정 하여 다음 github 위치에 소스를 공개하..

    내가 작업한 것들/소프트웨어
    2018.09.15 19:49
  • 윈도우용 조이스틱 (X Input) 테스터

    소개 이 프로그램은 윈도우에서 X Input 을 지원하는 조이스틱을 테스트 하기 위한 프로그램 입니다. 조이스틱을 사용하다 보면 아날로그 축이 틀어져서 게임을 하기에 거슬리게 되는 경우가 생기는데, 이를 수정 할 때 측정 하려고 만든 프로그램이며 오픈소스로 누구나 소스 개발 참여가 가능 합니다. 업데이트Version 0.1.3.20 내부 UI 적 변경을 많이 하였습니다.Copyright 표시 추가 하였습니다. 오픈 소스 위치https://bitbucket.org/rageworx/winjoysticktest/src/master/ 소스를 빌드 하기 위한 조건 이 오픈소스는 MSYS2 ( 또는 MSYS ) 와 MinGW-W64 를 기반으로 만들어 졌으며, 별도의 프로젝트를 지원 하지 않고 bash 나 zsh ..

    내가 작업한 것들/소프트웨어
    2018.07.22 00:34
  • 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
  • [FLTK] HICON 에서 Fl_RGB_Image 로 변환.

    이 소스 코드는 rk HDRi Studio 을 만들면서 필요에 의해서 만들어진 것 입니다만, FLTK 에서 자체적으로 윈도우를 만들어 쓸 때, 아이콘을 그리고 싶은데 막상 HICON 을 이미지 원본으로는 쓸 수 없을때 Alpha 를 가진 32bit RGB 이미지로 만들어 쓰기에 좋다고 하겠습니다. 먼저 icon_to_flrgb() 함수는 다음과 같습니다. Fl_RGB_Image* icon_to_flrgb(HICON hIcon) { BITMAP bm; ICONINFO iconInfo; GetIconInfo(hIcon, &iconInfo); GetObject(iconInfo.hbmColor, sizeof(BITMAP),&bm); int width = bm.bmWidth; int height = bm.bmHe..

    Developement/C/C++
    2017.02.20 10:38
  • MinGW-W64 용 DirectInput 소스 (키보드,마우스,조이스틱)

    MinGW-w64 프로젝트 부터 DirectX 관련 SDK 가 포함 되어 있으므로 윈도우 어플 개발에 매우 편리함을 얻을 수 있습니다만, MFC 처럼 뭔가 꽁꽁 묶여져 있는거 찾기가 사실 어렵다 보니 직접 만들어 써야 하는게 많은건 사실 입니다. 대신 쾌적함을 얻을 수 있는건 덤 이지만 ... 그래서 제가 진행 중인 프로젝트 중에 DirectX 의 2D, input 을 가져다 쓰면서 좀 더 편리하게 써 보고자 만들었던 것을 공유 하고자 합니다. 사용은 간단 합니다. 먼저 현재 사용되는 윈도우에 생성 부분 쪽에 InitDirectInput() 를 사용하여 Dinput 을 초기화 합니다. 이떄 반환되는 값은 HRESULT 가 아니라 DXINPUT_INIT_RESULT_KEYBOARD, DXINPUT_INIT..

    Developement/C/C++
    2015.12.15 13:53
  • [FLTK] + DirectX8 + MinGW, Direct Input 으로 조이스틱 쓰기 예제.

    바로 전에 올린 post 에 이어서 몇가지 작업을 더 해 보고 예제를 올려 볼까 합니다.이번에 적용한 것들은 다음과 같습니다.joystick.h/cpp(c 로 컴파일 가능) 으로 별도 API 처리.FLTK ( 주의: fltk-1.3.3-ts 사용해야 flushing 계속 해도 죽지 않음 ) 를 사용한 시각적 표현.pthread 로 polling 을 통한 update 부터 화면 표시 까지 구현.단, 이 예제에서는 Xinput 이나, Analog 부분 ( Z axis, Z rotate ) 부분 처리는 빠져 있습니다.polling 은 thread 내에서 sleep 을 30ms 하므로, 이론상으로 1초에 30 번 가량일 듯 합니다만, 이정도면 손가락이 신의 속도가 아니면 문제는 없어 보입니다. 예제는 Code:..

    Developement/C/C++
    2015.08.06 14:21
  • [FLTK] Fl_RGB_Image 로 부터 회전된 이미지 얻기.

    FLTK 는 여러 플랫폼에서 간단하면서 깔끔한 UI 를 만들기에 매우 좋은 GUI library 입니다만, 기본 기능에만 기준을 두고 있다 보니 이미지 처리 ( 리사이즈나 회전 등 ) 는 없는 것이 아쉬운 부분 입니다. 이번의 경우는 이미지를 회전 시켜 표시 해야 하는 경우 (위 이미지 처럼 뭔가 열심히 일 하고 있으니 기다려 주십사~ 하는) 기본으로 그리는 수준으로는 깔끔한 이미지를 얻기 힘듭니다. 이를 개선 하기 위해 구글링 중 CodeGuru 에서 이미지 회전에 관한 글 을 찾았습니다. 그리고 이를 응용하여 다음과 같은 API 를 만들어 보았습니다. #include #ifndef M_PI #define M_PI 3.141592654 #endif ⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄..

    Developement/C/C++
    2014.07.08 15:04
  • CPU 사용율을 알아 오는 소스 (C++)

    이 소스코드는 MinGW 32/64bit 모두에서 동작을 하는 CPU 사용을 확인을 위한 C++ 소스 코드 입니다. cpuu.h 와 cpuu.cpp 파일 내에 CPUUages 라는 Class 가 정의 되어 있으며, 이 Class 에서 CPU 사용율을 얻어 올 수 있도록 만들어 져 있습니다. 이미 많은 부분들에서 이 방법들을 사용하고 있긴 합니다만, MinGW 에서는 제대로 동작하거나 빌드 되지 않아서 이 부분을 다시 재정의 하여 만들었습니다. CPU 가 평균 특정 Percentage 이하로 내려 가야 동작하게 한다거나, 반대로 특정 사용율 이상 일때 뭔가 하도록 하는 방법을 찾으신다면 첨부된 소스를 참조 해 보시기 바랍니다. 별거 아닌 소스 이기 때문에 별다른 정보를 기재 하지는 않겠습니다. * Open..

    어떻게 할까/소프트웨어
    2014.05.30 13:49
  • EnCypher tool (AES256, BASE64) C++ library w/ Sample.

    EnCypher 라고 이름은 거창 하긴 합니다만, 단지 AES-256 과 BASE-64 를 이용하는 Front-end c++ class library 에 막 가져다 붙인 이름 입니다. 용도는 AES-256 으로 암호화 한 정보를 다시 BASE-64 로 인코딩 한 문자열을 만들거나, 반대로 처리 하는걸 만들수 있습니다. 사용하려는 C++ 코드 위에 #inlcude "endetool.h" 를 추가 해 준 다음, EnDeTool class 를 할당해서 쓰면 됩니다. 여러 기능을 제공하고 있는데 주된 기능은 다음과 같습니다.문자열을 AES-256 과 BASE-64 로 암호화 또는 복호화 단순 데이터를 AES-256 으로 암호화 또는 복호화 아래의 소스코드는 바이너리 데이터를 암호/복호화 하는 것만 들어 있긴 합..

    Developement/C/C++
    2014.03.06 15:52
  • Windows 에서 HDD 의 제조 번호와 Volume serial 을 알아 오는 소스 ( MinGW 호환 )

    PC 내에서 고유한 ID 정보를 가져 오는 방법중 하나를 들라면 보통 LAN 카드의 MAC 주소나 HDD 의 제조사 모델 정보와 고유 제조번호를 선택 할 수 있습니다. LAN 카드나 HDD 는 교체가 쉽게 가능하나, OS 를 설치 해야 하는 조건을 생각하면 오히려 HDD 가 좀 더 unique 한 정보를 만들수 있어 보이길래 만든 유틸리티 소스 입니다. MinGW 에서도 빌드 될수 있도록 만든 것이라 NTDDDISK.H 가 없어도 되도록 만들었습니다만, 조건이 컴파일시 (또는 프로젝트 매니저에) -DNO_NTDDDISK_H 를 지정해야 합니다. 해당 소스는 완전 공개이며, Code::Blocks 프로젝트로 만들어진 예제까지 포함 입니다. 경우에 따라서는 VisualStudio 에서 수정해서 쓰시는데 지장..

    Developement/C/C++
    2013.11.26 17:17
  • RageDCMV , Free DCM read/write library for standard C++

    DCM 파일을 읽고 쓰는 라이브러리를 공개 합니다. 이 소스 코드는 제가 직접 만든 것이며, 누구나 사용하고 활용 할 수 있되, 이 코드에 대한 저작권만 지켜 주신다면 아무런 제한없이 사용할 수 있습니다. 단, 저작권을 벗어난 권리행사 외에는 어떠한 책임을 지지 않으며, 본 소스코드로 제작하신 바이너리나 코드에 대해서는 일절 support 가 가능하지 않음을 먼저 알립니다. source code 는 gcc 에서 빌드 되도록 만들어 졌으며, CodeBlocks 10.05 에서 project 파일이 생성 되었습니다. 32bit, 64bit, MBCS, Unicode 모두 감안하여 만들어 졌습니다. 사용법이나, 활용에 대해서는 main.cpp 를 참조하시기 바라며, 개선하거나 변경 한 소스에 대해서는 반드시 ..

    내가 작업한 것들/소프트웨어
    2011.11.16 19:05
  • 리눅스용 비동기 소켓 서버 (Async Socket Server) 소스

    이 소스는 소켓 서버를 돌리기 위해 만든 소스 입니다만, 최초 제가 구한 것도 인터넷이고 (원래 만든 분이 누군지 모르겠습니다) 잘 주워다 지금 쓰고 있느라, GPL 에 따라 소스를 공개 합니다. 혹시 이 소스의 원작자가 되시는 분이 이 소스에 대해 권리를 주장하신다면, 내리도록 하겠습니다 ^^ 소스의 다운로드: 필요 사항: 이 소스를 컴파일 하기 위해서는 POSIX 를 준수하는 컴파일러가 필요하며, Cygwin 에 있는 gcc 나 (minGW 는 불가), 리눅스 자체의 gcc 에서 컴파일이 가능 합니다. 사용 예제: 이 소스는 현재 AsyncSock 과 SocketWrap 이라는 부분으로 나뉘어져 있습니다. SocketWrap 이라는 부분이 Sock 을 Class 로 좀 더 쓰기 편하게 만들어 져 있고..

    Developement
    2011.11.01 20:34
  • Delphi 용 Postgres SQL 라이브러리 - TPostgreSQL

    ODBC 를 이용하여 여러 SQL 과 붙이는 것은 delphi 내부에서도 되는 기능 중 하나 입니다만, Postgres SQL를 좀 더 신속히 쓰기 위해 만든 라이브러리를 공개 합니다. 원래 소스는 Tilo Ermlich 란 독일 사람이 2007년에 만든것 인데 클래스화가 안되어 있는 관계로 사용에 어려운 부분이 있어 클래스화 시킨 버젼 입니다. 모질라 라이센스 1.1 을 따르므로 변경이나 사용에 있어 소스를 공개 하는 것 이니, 필요하신 분들은 제약없이 사용하시되, 원작자 에 대해 반드시 명시해 주셔야 합니다. 현재 값들을 TStringGrid 에 출력하도록 되어 있습니다만, 이부분을 수정하여 다양한 matrix 에 저장할 수 있도록 하는 작업은 손수 해 보실 수 있을 듯 합니다. 압축 파일 안을 보시..

    내가 작업한 것들
    2010.10.13 15:34
  • Delphi 에서 USB 장치 인식 인지하기.

    가끔 Device managing 관련 어플을 만들어야 할때가 있는데, 이때 도움이 되는 코드를 만들었습니다. USB 장치가 뜨면 GUID 와 해당 장치의 정보를 알아 올 수 있습니다. 먼저 USBdetector 유닛 소스 입니다. 이걸 쓰려면 다음과 같이 사용이 가능합니다. usb_detector := TUSBdetector .Create(Self); usb_detector.OnUSBArrival := OnConnected; usb_detector.OnUSBRemove := OnLeaved; usb_detector.OnUSBInfo := OnInfo; 예제를 더 들자면 다음과 같은 코드로 사용이 가능합니다.

    Developement
    2010.06.09 18:23