맥에서 안드로이드 개발 환경 설정하는 방법

Android Stduio는 Android App. 개발을 위한 통합 개발 환경(IDE)이다. Android Stduio는 Windows, Mac, Linux에서 모두 사용이 가능하지만 여기에서는 Mac에서의 개발 환경 설정에 대해서만 설명한다. Android SDK는 Java 언어를 사용하기 때문에 Android App.을 개발하기 위해서는 우선 Java JDK를 설치해야 한다. Java JDK는 다음

Read More 맥에서 안드로이드 개발 환경 설정하는 방법

Maya Context에 대하여…

Context란 마우스의 이벤트에 반응하여 어떠한 특정 작업 수행이 가능한 Maya의 특수 모드를 말한다. Maya에서 context는 tool과 동일한 개념으로 사용된다. 다만, graphical user interface 기준에서는 tool이라고 부르고, programming interface 기준에서는 context라고 부른다. setToolTo [context name]으로 특정 컨텍스트 모드로 들어갈 수 있다.

Read More Maya Context에 대하여…

When compute() of a custom node isn’t called right after loading scene file

Custom node가 있는 Maya scene file을 save한 후 다시 open했을 때, auto-update가 되지 않는 문제가 발생하는 경우가 있다. ASCII 형식(.ma) 파일로 저장한 후 내용을 보면 custom node의 output attribute가 이상한 값으로 저장되어 있는 경우에 이러한 문제가 발생한다. 예) setAttr “.output”

Read More When compute() of a custom node isn’t called right after loading scene file

How to install BLAS and LAPACK using source codes

1. Download lapack-3.5.0.tgz (http://www.netlib.org/lapack/#_lapack_version_3_5_0_2) 2. tar xvf lapack-3.5.0.tgz 3. cd lapack-3.5.0/BLAS/SRC 4. gfortran -c -o3 *.f 5. ar rv libblas.a *.o 6. cp libblas.a /usr/local/lib 7. cd ../../SRC 8. gfortran -c -o3 *.f 9. ar rv liblapack.a *.o 6. cp

Read More How to install BLAS and LAPACK using source codes

Git 설정 및 사용법

1. git 설치 및 계정 생성 (client->server) ssh root@11.22.33.44 #ssh로 원격 서버(여기서는 IP주소가 11.22.33.44라고 가정)에 접속 root@11.22.33.44’s password:  [server의 root 암호 입력] yum install git #git 설치 adduser git #git 계정 생성 (git이 아닌 다른 이름도 상관없음) passwd git #git 암호 변경 Changing password for user

Read More Git 설정 및 사용법

How to exchange rotation matrix between Zelos and Maya

[pre-multiplied system with row-major ordering] (ex) Zelos X: rotation matrix about x-axis Y: rotation matrix about y-axis Z: rotation matrix about z-axis R: rotation matrix in x->y->z axis order. q=(ZYX)p Therefore, R = ZYX [post-multiplied system with column-major ordering] (ex)

Read More How to exchange rotation matrix between Zelos and Maya

How to install thunderbird with RPMs on CentOS 7.x

1. Download a rpm file for thunderbird on internet accessible PC. yum install http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm yumdownloader thunderbird 2. Install thunderbird. sudo rpm -ivh thunderbird-24.7.0-1.el7.x86_64.rpm 3. You may meet an error message like this: error: Failed dependencies: nspr >= 4.10.6 is needed

Read More How to install thunderbird with RPMs on CentOS 7.x

Installing Nvidia Driver on CentOS 7.x

CentOS 7.x에서 nVidia driver 설치시 Nouveau를 disable 시켜야 한다면서 설치가 안될 때, su yum update yum install kernel-devel kernel-headers gcc make uname -r을 이용하여 출력한 커널 버전과 rpm -q kernel-devel을 이용하여 출력한 커널 버전이 다르다면, yum -y upgrade kernel kernel-devel

Read More Installing Nvidia Driver on CentOS 7.x

MPxLocatorNode::draw()

Locator node를 사용하면 draw() 함수 안에서 custom data에 대한 OpenGL rendering을 구현하는 것이 가능하다. 그런데, MPxLocatorNode::draw() 함수 안에서 print를 해보면, Maya viewport에서 camera 정보가 변할 때 뿐만 아니라, viewport를 click하거나 marquee를 그리는 등의 조작을 할 경우에도 호출되는 것을 확인할 수 있다. Maya에서는

Read More MPxLocatorNode::draw()

Conflict problem between Cuda and Maya

Maya는 MTypes.h에 short2, short3, long2, long3, int2, int3, float2, float3, double2, double3, double4 등의 자료형을 정의하여 사용한다. 용감하게도 어떠한 prefix나 namespace도 사용하지 않는다. Cuda는 vector_types.h에 int2, int3, float2, float3 등의 자료형을 정의하여 사용한다. Cuda 또한 용감하게도 어떠한 prefix나 namespace소 사용하지

Read More Conflict problem between Cuda and Maya

워드프레스 수동 업데이트

1. 만약을 위해서 서버에 있는 모든 디렉토리들 및 파일들을 로컬로 백업한다. 2. 설정에서 모든 플러그인들을 비활성화 한다. 3. 새로운 버전의 파일을 로컬에 다운로드 받는다. 4. 서버에 있는 wp-admin, wp-includes 디렉토리를 삭제한다. 5. 로컬에 있는 새로운 버전의 wp-admin, wp-includes 디렉토리를 서버에

Read More 워드프레스 수동 업데이트

Hash

[ hash table (or hash map) ] – associated array: (key, value) 형식의 data를 저장하는 data structure – hash function을 사용하여 입력 key 값으로부터 hash value를 얻은 다음 이를 index로 사용하여 associated array의 형태로 저장하는 자료구조 – hash table의 각

Read More Hash

Uniform, Varying, and Attribute in GLSL

GLSL shader에서 input 또는 output으로 사용하는 변수 type은 3가지가 있다. 1. uniform rendering하는 동안 변하지 않는 변수이다. 마치 C 언에에서의 global extern variable의 개념이라고 생각하면 된다. OpenGL application으로 부터 값을 전달받을 수 있다. vertex shader와 fragment shader에서 모두 공유하여 사용하는

Read More Uniform, Varying, and Attribute in GLSL

GLSL

OpenGL에서 사용하는 shader를 작성하는 데 쓰이는 언어를 OpenGL Shading Language (GLSL)이라고 한다. GLSL은 GLslang이라고도 한다. GLSL은 C 언어와 유사한데, C언어를 기초로 만들어진 상위 레벨의 shading 언어이기 때문이다. C언어에서 source code가 compile되어 object 파일로 만들어진 후에 합쳐져서 하나의 프로그램이 되는 것과

Read More GLSL

OpenGL graphics pipeline

Shader란 rendering pipeline (graphics pipeline)의 중간에 위치하여 어떠한 필요한 계산을 해주는 비교적 작은 크기의 programmable unit을 말한다. OpenGL에서 사용 가능한 shader의 종류는 다음 세 가지가 있다. 1. vertex shader (VS) 2. geometry shader (GS) 3. fragment shader (FS) 우선 OpenGL에서

Read More OpenGL graphics pipeline

OpenGL framebuffer object

Framebuffer는 rendering의 최종 결과가 기록되는 buffer들의 집합이다. OpenGL context가 생성되면서 기본적으로 하나의 framebuffer를 생성하여 사용하는데, 이러한 default framebuffer를 window-system-provided framebuffer라고 부른다. 반면, 필요 시 임의의 framebuffer를 동적으로 생성하여 사용하는 것이 가능한데, 이렇게 생성된 framebuffer를 application-created framebuffer라고 하며, 일반적으로 framebuffer object (FBO)라고

Read More OpenGL framebuffer object

OpenGL object

OpenGL object는 다수의 state를 저장하는 구조체이다. OpenGL object가 어떤 context에 연결되면, object가 저장하고 있는 state가 context의 state로 나타나게 된다. 따라서, context 상에서의 변경 내용은 현재 연결되어 있는 object의 상태를 변경하게 된다. 또한, context 상에서 수행하는 함수들은 현재 연결되어 있는 object에

Read More OpenGL object

DC (Device Context) & RC (Rendering Context)

OpenGL이 OS상에서 구동되려면 OS에서 제공하는 window에 연결되어야 한다. 만약 동시에 두 개 이상의 OpenGL applications가 실행되고 있다면 이들 사이에는 상호간 영향이 있어서는 안된다. (A application에서 색상이나 선의 두께를 조절하였을 때, B application에서도 그 결과가 나오면 안된다는 뜻이다.) OpenGL은 이러한 문제를 해결하기

Read More DC (Device Context) & RC (Rendering Context)

OpenGL as a State Machine

State machine이란 state를 변경하는 명령을 받기 전에는 현재의 state를 계속 유지하는 machine을 말한다. OpenGL은 미리 정의되어 있는 유한개의 state들을 가지고 있으므로 finite state machine (FSM)의 일종으로 볼 수 있다. (실제로 유한개이긴 하지만 매우 많은 state들이 정의되어 있다.) 예를 들면, glColor3f(0,0,1)을

Read More OpenGL as a State Machine