Blog
-
야만용사에게 올인하기
어느 하나가 앵벌하면 얻은 아이템을 야만용사, 악마사냥꾼, 마법사, 수도사가 나눠서 세팅했는데, 이렇게 하니 너무 혼잡스러워서 일단 야만용사에게 완전히 집중하기로 하였다. 불지옥 액트 1에서 능력치가 너무 부족해 힘들었지만 차츰 극복중이다. 무자비 대신 철갑옷을 쓰면 방어도가 7천 후반대를 기록하는데, 불지옥 액트 1을 도는데 방어도는 6000대 정도도 크게 지장이 없어 현재 스킬을 공격쪽으로 안배해 보았다. 사냥에 크게 무리가…
-
어스토니시아 스토리 R 치트 시트
치트엔진 6.2로 만든 어스토니시아 스토리 R 치트.돈, 무적시간, 각 캐릭터의 능력치를 조절할 수 있다. 치트 테이블 다운로드
-
디아블로3, 여러 스탯 공식들 기록
스탯 계산에 대한 참고자료 참고자료 공격, 방어, 경험치 등: http://mmo-mechanics.com/swtor/forums/Thread-Diablo-3-formula-list 우리나라에는 주로 DPS 계산기만 있는데, EHP(Effective Health Pool) 계산기도 있다dps 계산기: http://armadagaming.com/dpscalculator.phpehp 계산기: http://www.diablofans.com/topic/43712-diablo3-effective-health-pool-calculator/ 디아블로3 방어스탯 공략http://milky.alicecompany.co.kr/761 게임메카 기사: 디아블로3 저항 시스템, 생존을 위한 필수 요소 http://dia3.gamemeca.com/mecareport.php?gid=22763
-
디아블로 3: 악마사냥꾼 불지옥 입성.
현재 모든 클래스를 다 길러보고 있는 가운데,두 번째로 육성한 악마사냥꾼이 불지옥에 처음으로 입성! 저스펙이긴 하지만 뭐 차차 해결하면 되는거지.
-
C-Style Callback 함수와 클래스에 관한 스터디
문제 제기: C-Style의 콜백 구조는 C++ 프로그래밍에서 큰 문제를 일으킨다. 그 문제는 콜백 함수의 인자로 들어가는 함수 포인터에는 ‘클래스 멤버 함수’는 들어갈 수가 없다는 점이다. 보통 이러한 문제를 해결하기 위해 아예 일반 함수 콜백에 전역변수를 사용하곤 한다. 하지만, 이러한 해결은 많은 결점을 낳는다. 프로그램이 점점 작성될 수록 매우 프로그래밍하기 불편한 구조로 되어 버리기 때문이다. 그…
-
더 다양한 스터디
현재까지 제안된 방법이 최선일까? 앞서 이야기하기도 했지만 절대 그렇지 않을 것이다. 더 다양한 방법이 있을 수 있을 것이다. 본 포스트에는 좀 더 나은 방법에 대해 기록하며, 그 이외의 다양한 이야기를 적어둘 것이다. 콜백함수를 위한 템플릿을 이용한 2개의 클래스를 사용하는 것 보다 괜찮아 보이는 방법 중 하나는 ‘함수 어댑터(function adaptor)’를 사용하는 방법이다(출처). // binding function 제작…
-
GLUT Application
GLUT의 callback 함수 매커니즘은 대표적인 C-style이고 인터넷 검색을 하면 많은 자료를 찾을 수 있다. 이는 나중에 다룰 생각이고, 이번에는 지금까지 만든 코드를 실제로 GLUT에 적용해 보도록 하겠다. 본 예제는 M. Kilgard의 ‘A simple red cube drawn with minimal OpenGL calls.’를 바탕으로 변형한 것이다. 원본 소스는 여기서 다운로드 받을 수 있다. GLUT는 freeglut을 사용하였다. 지금까지 차분히…
-
Template Callback Class
복잡한 캐스팅 콜백 함수 단계에서 일어나는 것을 방지하기 위해 템플릿을 도입해 보았다. #include <iostream> // 전역변수 콜백 함수 포인터. // 어떤 라이브러리 어딘가에 있다고 가정한다. void (*g_callback)() = NULL; // callback과 상속 관계가 없는 데이터 저장 클래스 class storage { public: storage() {} ~storage() {} int& val() { return val_; } const int& val() const…
-
Data Class and Callback Class
스태틱 클래스 함수라도 자기 자신을 참조하는 스태틱 클래스 변수에 힘입어 자신의 비스태틱 멤버 변수 및 함수에 접근할 수 있게 되었다. 그러나 콜백 함수 내부에서 접근 제한이 불가능한 문제를 발견할 수 있었다. 이러한 문제는 데이터/콜백 클래스를 각기 완전히 분리를 하면 해결할 수 있다. #include <iostream> // 전역변수 콜백 함수 포인터. // 어떤 라이브러리 어딘가에 있다고 가정한다.…
-
Static Variable
일반적인 클래스로는 c-style의 콜백을 처리할 수 없다는 것을 알았고, 이는 단순한 대처로는해결하기 힘듬을 알았다. 그렇다면 어떻게 클래스를 사용하면서도, c-style을 유지할 수 있을까? 한 가지 방법으로는 static 변수를 멤버 변수로 사용하는 방법이다. 그러나 이 방법은 그리 유용하지 못하다. 왜냐하면 static 멤버 변수는 클래스를 선언하지 않고도 사용 가능하며, 그 클래스가 모두 공유하는 변수이기 때문에, 사실상 전역 변수이나…
-
Callback and Class
C-Style의 callback 코드에 살짝 C++ 개념을 얹어 보자. #include <iostream> // 전역변수 콜백 함수 포인터. // 어떤 라이브러리 어딘가에 있다고 가정한다. void (*g_callback)(void) = NULL; // 우리는 C-Style의 함수가 아닌 class를 필요로 한다. // C++에서 class와 struct의 차이는 단지 private이 기본이냐, public이 기본이냐의 차이다. struct cb_class { // 라이브러리는 이 함수를 필요로 한다. // static…
-
C-Style Callback
먼저 C-Style Callback이 무엇인지를 설명하고자 한다. 보다 기술적인 설명을 하는 것 보다 다음 코드를 읽으면서 이야기를 진행하자. #include <stdio.h> #include <stdlib.h> // 전역변수 콜백 함수 포인터. // 어떤 라이브러리 어딘가에 있다고 가정한다. void (*g_callback)(void) = NULL; // 우리가 직접 만들어야 하는 콜백 함수 // 라이브러리는 이 함수를 필요로 한다. void callback(void) { printf(“Our callback function…
-
CUDA를 위한 Visual Studio Template 변경
위 그림처럼 CUDA의 ‘.cu’, ‘.cuh’ 확장자를 가진 파일도 비주얼 스튜디오의 “Add New Item” 다이얼로그 박스를 통해 추가시키는 방법을 기록한다. “Add New Item” 메뉴를 클릭하면 나오는 메뉴 설정은 (C++의 경우) 다음과 같이 세팅한다. “C:Program Files (x86)Microsoft Visual Studio 10.0VCvcprojectitems” 디렉토리로 가서 ‘newc++file.cpp‘ 파일과 ‘hfile.h‘ 두 파일을 찾아 복사한 후 각각 ‘NewCUDAFile.cu‘, ‘CUDAHFile.cuh‘로 변경한다.변경한 확장자를 가진 파일을…
-
CUDA 초기 세팅 (Ver 4.1 기준)
[패키지 설치] 보통 CUDA를 설치하면 아래 세 가지 패키지를 설치하게 된다. CUDA Developer Driver: CUDA 개발을 위한 드라이버. CUDA Toolkit: nvcc, 디버거, 프로파일러 등이 있는 CUDA 개발을 위한 패키지. GPU Computing SDK: 샘플 코드들 패키지를 설치하면 다음과 같은 전역 환경 변수가 정의된다. CUDA_BIN_PATH CUDA_INC_PATH CUDA_LIB_PATH CUDA_PATH CUDA_PATH_V4_1 그리고 다음 환경 변수가 업데이트된다. Path [Visual…
-
Visual Studio의 CUDA Project 설정하기
초기 세팅에 관한 포스트는 CUDA 초기 세팅 (Ver 4.1 기준)에서 다루었다. 이번에는 Visual Studio 10의 설정에서 CUDA를 설정, 컴파일하는 과정을 기록한다. [Visual Studio Project 생성 예제] CUDA 4.1이 정상적으로 설치되었다고 가정하고, 프로젝트를 생성한다. 프로젝트는 Win32 Console Application (Visual C++)로 하고 ‘Empty project’에서 시작한다. 파일을 하나 작성한다. #include <iostream> #include “cuda.h” #include “cuda_runtime.h” #include “device_launch_parameters.h” __global__…
-
CUDA by Example 소스 코드
NVIDIA 공식 홈페이지에 링크가 잘려 있어서 올려둔다. 본 도서의 공식 홈페이지 링크는 여기이다. 다운로드: CUDA by Example Source Code
-
Simple Subtitle Renamer GUI
예전에 만들었던 smiRenamer는 지금까지 쏠쏠하게 잘 쓰고 있다. 이번에 약간의 기능을 더 추가하여 새롭게 다시 만들어 보았다. 이번에 이름은 SubRenamer라고 이름지었다. 이전과 마찬가지로 어떤 영상 파일과 자막 파일이 있는 경우, 두 파일의 이름을 동일하게 맞추어 주는 프로그램이다. 단순히 파일 이름의 변경만을 원하는 경우, 파일 이름만을 전문적으로 바꾸어주는 툴을 사용할 수도 있지만, 이것은 동영상-자막 파일의 이름을…
-
DOXYGEN_DOT_EXECUTABLE
doxygen의 시각화 도구 Graphviz를 말하는 것임. http://www.graphviz.org/Download_windows.php 에서 패키지 다운로드
-
Sphinx 에 관한 설정
PCL 컴파일 시 CMAKE의 항목 중 SHPINX-EXECUTABLE 항목을 찾을 수 있다. 이는 python을 이용한 문서 제작을 위한 라이브러리이다. (홈페이지) 설치는 다음과 같이 수행한다. http://pypi.python.org/pypi/Sphinx#downloads 에서 파이썬 버전에 맞는 egg 파일을 다운로드 받는다. http://pypi.python.org/pypi/setuptools 에서 setuptools (ez_setup.py)를 받는다. 그리고 이것을 콘솔에서 실행한다. >> python ez_setup.py easy_install.exe 파일이 파이썬 디렉토리의 Scripts 하위 디렉토리에 생성된다. 패스 걸어주고, egg…