Maya Viewport 2.0

Viewport 2.0(이하 VP2)은 Maya 2012 부터 도입된 Autodesk사의 새로운 rendering architecture이다. VP2는 AutoCAD와 3ds MAX 등의 제품군에서도 활용되는 backend system이다. VP2는 programmable shader system, high-quality per-pixel lighting 등의 강력한 기능을 제공한다. 하지만, 완전히 새로운 rendering system이기 때문에 기존에 만들어 놓은 plug-in들을 지원하지 않는다. 예를들면 custom locator node는 Legacy Default Viewport에서만 작동하고 VP2에서는 draw() 함수가 호출조차

CentOS 7.x에서 LaTeX 패키지 설치 방법

1. CTAN 사이트에서 해당 패키지명.zip 파일을 다운로드한다. 2. /usr/share/texlive/texmf-dist/tex/latex 위치에 해당 패키지명으로 디렉토리를 생성한다. 3. 다운로드한 .zip 파일 압축을 풀고 .sty 파일들을 새로 생성한 디렉토리에 복사한다. 4. texhash를 실행해준다.

How to install Google Chrome for CentOS 7.x

su vi /etc/yum.repos.d/google-chrome.repo [google-chrome] name=google-chrome baseurl=http://dl.google.com/linux/chrome/rpm/stable/x86_64 enabled=1 gpgcheck=1 gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub yum install google-chrome-stable exit google-chrome

USB CD 영역 삭제

명령창(Command Prompt) 실행. diskpart list disk select disk 3 (초기화 하려는 USB가 3번일 때) clean (파티션 삭제) create partition primary (주 파티션 생성) format quick fs=fat32 (fat32 형식으로 포멧) active (활성화) exit (종료)

일본 도쿄 디즈니랜드 가족 여행

결혼 10주년 기념 도쿄 디즈니랜드 가족 여행. 가깝고도 먼 나라 일본 첫 방문. 인종, 문화, 사고방식, 먹을거리 등 많은 부분에서 비슷한 점이 많은 옆나라이지만 역사적인 앙금이 안풀린 관계로 인해 굉장히 낯설게 느껴지는 사람들. 진짜 일본어 한 마디도 못하는데 용감히 왔다. 듣던대로 영어를 잘 못하긴 하지만 통하긴 통함. 피차간에 서로 영어를 잘 못하니 마음의 부담감이 전혀

미국 DigiPro & SIGGRAPH 2016 Anaheim

DigiPro가 개최되었던 Grand California Hotel은 정말 멋진 곳. 상당히 비싼 것으로 알고있는데, 언젠가 기회가 되면 가족들과 함께 오고싶은 곳이다. 더불어 디즈니랜드, 캘리포니아 어드벤처, 다운타운 디즈니 모두 너무 훌륭한 가족 관광지라는 생각이 든다. 그러나 우리 네 가족이 오려면 최소한 돈 천만원은 깨질듯.. 처음 참관했던 DigiPro. 2013년도에 여기에 accept가 되고도 발표하러 가지못했던 곳. 돈 많은 두 회사

요르단 출장

두바이행 대한항공 비행기에는 예상 외로 빈 자리가 많았음. 두 좌석당 1명씩 앉아서 갔음. 두바이 공항은 매우 넓음. 멀리있는 게이트 까지는 버스로 이동하는데 버스 배차 간격이 짧지 않으므로 탑승 시간에 늦지 않으려면 다소 서둘러야함. 배터리 등의 위험물 반입 규정은 공항마다 다름. 배터리 등에 대한 운송 규정은 아직 단일하게 확립된 것이 없고 인천공항을 비롯한 각 공항의 수하물

MFnNurbsCurve Error with OpenMP

Non-threadsafe functionality in Maya 2014 MFnNurbsCurve evaluation, for example, point on curve computation MFnNurbsSurface evaluation, for example, point on surface computation MFnSubd evaluation MFnNurbsCurve::closestPoint() is not thread-safe. But, it is thread-safe in Maya 2016.

DJI Inspire 1 Firmware Update

  DJI Inspire 1의 최신 펌웨어는 다음 링크에서 다운로드 받을 수 있다. http://.dji.com/product/inspire-1/info#downloads   최신의 .zip 파일을 받아서 압축을 풀면 .bin 파일이 생성되는데, 이 .bin 파일을 마이크로 SD 카드의 root 위치에 복사한 후에 카메라에 삽입하고 기체의 전원을 켜면 자동적으로 펌웨어 업데이트가 시작된다. 펌웨어 업데이트는 대략 10분 정도 소요된다. 한 번 길고 두 번 짧게 계속 “띠-띠띠”

아우디 초보자를 위한 FAQ 및 팁

<아우디 브랜드>  한국에서는 벤츠, BMW, 아우디가 독일 3사로 분류되지만 TOP 2 브랜드로 벤츠와 BMW를 꼽고, 그 다음 아우디라는 인식이 있음. 한국에서의 브랜드 인지도는 벤츠>BMW>아우디 순. 심지어 벤츠>BMW>>아우디라고 하는 사람들도 꽤 있음. 한국에서는 벤츠, BMW가 먼저 들어와서 프리미엄 브랜드로 확고히 자리를 잡은 후에 아우디가 들어왔기 때문에 아무래도 후발 주자라는 이미지가 있음. 하지만, 유럽에서는 아우디에 대한 인식이

안드로이드 스튜디오 예제 8 – 가로, 세로 고정

“화면 회전” 설정이 켜져 있을 때, 안드로이드 스튜디오로 생성한 앱은 디바이스의 방향에 따라서 회전한다. 회전이 되지 않고 가로 또는 세로로 고정이 되려면 main activity의 java 파일의 onCreate() 함수 안에 다음과 같은 내용을 추가해주면 된다. 가로 고정: setRequestedOrientation( ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE ); 세로 고정: setRequestedOrientation( ActivityInfo.SCREEN_ORIENTATION_PORTRAIT );

안드로이드 스튜디오 예제 7 – 타이틀 바, 이메일 버튼 없애기

안드로이드 스튜디오를 이용해서 안드로이드 앱을 만들면 상단에 타이틀 바와 하단에 이메일 버튼이 자동 생성되는데 굉장히 꼴보기 싫다. 이번 예제에서는 이렇게 자동 생성되는 타이틀 바(Title Bar)를 삭제하는 내용을 다루려고 한다. ——————————————————————————————————– 1. 안드로이드 스튜디오를 실행하고, Start a new Android Studio project를 선택한다. 2. New Project 창이 나타나면, Application name에 BlankApplication을 입력하고 Next 버튼을 클릭한다. 3. Target

워드프레스 미디어 버튼 또는 텍스트 모드 문제

문제점) 워드프레스(WordPress) 4.4.2에서 글 편집기에서 “미디어 추가” 버튼을 눌러도 “미디어 삽입”이 뜨지 않거나, “비주얼” 모드에서 “텍스트”로 전환이 안되는 문제가 발생하였다.   해결방법) wp-config.php 파일에 다음과 같은 내용을 추가해준다. (굵은 글씨 부분) /** MySQL hostname */ define('DB_HOST', 'localhost'); /** Disable Javascript Concatenation */ define('CONCATENATE_SCRIPTS', false ); /** Database Charset to use in creating database tables. */

워드프레스 수동 재설치

워드프레스(WordPress)로 작성한 모든 글의 제목 및 텍스트는 서버에 DB로 저장되어 있고, 글을 작성하면서 업로드하여 첨부한 이미지들은 모두 wp-content/uploads에 저장되어 있다. 따라서, DB가 손상되지 않았고, wp-content/uploads만 백업이 되어 있다면 얼마든지 워드프레스를 지우고 다시 설치해도 복구가 가능하다. 1. 우선 wp-content 디렉토리를 ftp로 다운받아 저장해둔다. (가장 중요!) 2. wp-content 디렉토리 외에도 필요한 디렉토리들이 있다면 백업해둔다. 3. 그 다음

안드로이드 스튜디오 예제 6 – 프래그먼트 간 통신

예제 5에서 설명했듯이 서로 다른 프래그먼트들 끼리는 직접적으로 정보를 주고 받을 수 없다. 아마도 프래그먼트는 재사용성에 중점을 두고 설계된 요소이기 때문에 이러한 정책을 취하고 있는 것 같다. 만약 A라는 프래그먼트에서 B라는 프래그먼트의 setData()라는 함수를 호출하는 식으로 개발했을 때 , 다른 프래그먼트들에는 setData()라는 함수의 존재 여부가 보장되지 않기 때문에 재사용성에 문제가 발생할 수 있기 때문이다. 따라서,

안드로이드 스튜디오 예제 5 – 프래그먼트 간 통신

서로 다른 fragment들 끼리는 직접적으로 정보를 주고 받을 수 없다. Fragment끼리의 통신은 반드시 host activity(프래그먼트들이 바인딩되어 있는 activity)를 거쳐서 이루어져야 한다. 본 예제에서는 하나의 main activity와 두 개의 fragments를 생성할 것이다. 첫 번째 fragment에는 두 개의 Buttons를, 두 번째 fragment에는 하나의 TextView를 만들 것이다. 첫 번째 fragment의 버튼 중 하나를 클릭하면, main activity에서 버튼 클릭으로 발생한

안드로이드 스튜디오 예제 4 – 프래그먼트 교체

본 예제에서는 두 개의 프래그먼트를 생성하고 하나의 프래그먼트만 액티비티 상에 배치할 것이다. 그리고, 액티비티의 버튼을 누르면 다른 프래그먼트로 교체되도록 하는 내용에 대해서 살펴볼 것이다. ——————————————————————————————————– 안드로이드 스튜디오를 실행한다. “Start a new Android Studio project”를 선택한다. “Application name”에 “FragmentTestApplication”을 입력하고 Next 버튼을 클릭한다. “Phone and Table”, “Minimum SDK = API 22″를 선택하고 Next 버튼을 클릭한다. “Blank

View, Activity, 그리고 Fragment

안드로이드에서는 기본적인 UI 요소를 View라고 부르며, 모든 UI 요소들은 View 클래스(android.view.View)의 서브 클래스들이다. View는 크게 Widget과 Layout으로 구분할 수 있다. Button, TextView, CheckBox와 같은 시각적인 UI 요소들을 Widget(또는 Component)이라고 하고, 화면에서 보이지는 않지만 다른 View들을 담는 container 역할을 하는 것을 Layout이라고 한다. 따라서, View는 계층 구조로 생성하여 사용할 수 있으며, 이 때 계층상의 상위 View를 부모

activity_?.xml vs content_?.xml

“핵심만 골라 배우는 안드로이드 스튜디오” 책의 예제를 따라하다 보면 최신 버전(1.5.1)과는 약간 다른 내용이 나온다. 기본적으로 생성되는 “Hello World!”가 적혀있는 TextView를 선택해서 삭제하라는 내용이 나오는데, activity_?.xml이 선택되어 있을 때에는 이것이 불가능하다. content_?.xml을 선택한 상태에서만 편집이 가능한데 책 어디에서도 content_?.xml에 대한 내용은 나와있지 않다. 안드로이드 스튜디오 1.4 버전부터 디자인 방식이 변경되었다. 예전 버전에서는 activity_?.xml만 있었지만, 1.4

안드로이드 스튜디오 예제 3 – 이벤트 처리 4가지 방법

예제 1에서 버튼을 클릭했을 때의 이벤트를 처리하는 방법을 살펴보았다. 이벤트 리스너(event listener)를 이용한 방식이었는데, 이 외에도 다양한 방식으로 이벤트 처리를 할 수 있다. 본 예제에서는 예제 1에서와 동일한 방식을 포함해서 총 4가지 종류의 이벤트 처리 방법에 대해서 살표볼 것이다. ——————————————————————————————————– 안드로이드 스튜디오를 실행한다. “Start a new Android Studio project”를 선택한다. “Application name”에 “EventHandlingApplication”을 입력하고 Next

안드로이드 스튜디오 예제 2 – 구글맵

본 예제에서는 구글 맵(Google map)을 사용하는 방법을 살펴볼 것이다.안드로이드 스튜디오에서 Google Maps Activity로 설정하여 프로젝트를 생성하면 필요한 기본 코드들을 자동생성해준다.  구글 맵 API를 사용하려면 키(key)를 발급받아야 하는데, 이 역시 안드로이스 스튜디오에서 제공하는 간단한 방법을 이용하게 될 것이다. 또한, 구글 맵 API를 이용해서 지도상에서 새로운 마커와 위치도 설정해보도록 하겠다. ——————————————————————————————————– 안드로이드 스튜디오를 실행한다. “Start a new

안드로이드 스튜디오 예제 1 – 프로젝트 생성, 클래스 추가, 이벤트 처리

첫 번째 안드로이드 스튜디오 예제이다. 안드로이드 앱을 개발하려면 안드로이드 스튜디오(Android Studio)라는 프로그램을 사용해야 하는데, 안드로이드 스튜디오는 비쥬얼 스튜디오의 마법사(wizard)와 같은 기능을 제공한다. 안드로이드 스튜디오를 실행시키고 일련의 설정들을 입력해 주면 쉽게 기본적인 프로젝트를 자동으로 생성해준다. 본 예제에서는 텅 비어 있는 화면(empty activity)를 하나 생성할 것이다. 그리고, 텍스트뷰(TextView)와 버튼(Button)을 하나씩 배치하고, 버튼을 누르면 텍스트뷰의 내용이 변하도록 할

Handler, Looper, and Thread

프로그램(program)을 실행하게 되면 프로그램의 인스턴스(instance)가 생성되는데 이를 프로세스(process)라고 한다. 프로세스는 운영체제(OS)로부터 필요한 메모리 등의 리소스(resource)를 할당받고 이를 이용하여 특정 기능을 수행한다. 현존하는 대부분의 운영체제들은 동시에 여러 개의 프로로세스를 실행할 수 있는 멀티 프로세싱(multi-processing) 운영체제들이다. 하지만, 동시에 실행중인 프로세스들은 서로 리소스를 공유하지 않는다. 각각의 프로세스는 자신만의 고유한 리소스를 운영체제로부터 할당받아 독립적으로 실행되며, 프로세스 종료시 할당받은 리소스를 다시

android-22 Error

Android Studio에서 새로운 Import Module 등을 수행할 때 Error: Cause: failed to target with hash string ‘android-22’와 같은 에러가 발생할 때가 있는데, 해당 모듈에서 사용한 낮은 버선의 SDK가 설치되어 있지 않을 때 발생하는 에러이다. 에러 메시지 하단에 파란색으로 표시되어 있는 Open Android SDK Manager 문구를 클릭하여 SDK Manager를 띄운다음 필요한 이전 버전의 SDK를 체크하여 설치해주면

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

Android Stduio는 Android App. 개발을 위한 통합 개발 환경(IDE)이다. Android Stduio는 Windows, Mac, Linux에서 모두 사용이 가능하지만 여기에서는 Mac에서의 개발 환경 설정에 대해서만 설명한다. Android SDK는 Java 언어를 사용하기 때문에 Android App.을 개발하기 위해서는 우선 Java JDK를 설치해야 한다. Java JDK는 다음 경로에서 구할 수 있다. 이곳에서 가장 최신 버전의 Java JDK를 다운받아서 설치하면 된다. http://www.oracle.com/technetwork/java/javase/downloads/index.html 만약 이미

C++11 Move Constructor

#include <iostream> #include <vector> using namespace std; class A { public: float x; public: A() : x(0.f) { cout<<"Default Constructor"<<endl; } A( const A& a ) : x(a.x) { cout<<"Copy Constructor"<<endl; } A( const A&& a ) : x(a.x) { cout<<"Move Constructor"<<endl; } A( float _x ) : x( _x ) { cout<<"Class Constructor"<<endl; }

Maya Context에 대하여…

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