블로그 이미지
.
속눈썹맨

공지사항

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Alias Maya

2006. 1. 12. 15:38 | Posted by 속눈썹맨
. 제작사
Alias/Wavefront사(Silicon graphics의 자회사)

. version
5.0 = 2003.6 출시
7.0 = 2006.1 현재 최신

책) 3D 초급자를 위한 Maya 5.0 75일 완성 - 가메출판사
(http://www.mayarang.com/ )

. 설치방법
. iso-m7u1.bin 파일을 open
. Install Maya
. 설치 완료됨.
. Exit Installer

. c:\FLEXLM 만들기
copy crack 디렉토리의 aw.dat, awkeygen.exe to c:\FLEXLM

. Goto start-->all programs-->AliasWavefront-->common utilities-->FlexLM license utilities
. Under system settings copy Ethernet address
ex) 00115b8532b8

. 시작메뉴의 모든프로그램 > alias > MAYA 7.0 > install license 를 실행한다.
. I would like to install my license from a file 를 선택하고
. Browse 버튼을 눌러서 c:\flexlm\aw.dat 를 선택하면 끝.

. 실행
. 2006/3/15 - 주현성, 주혜선
"Your graphics card doesn't support hardware rendering. Pixel shading extensions insufficient."라는 에러가 나면서 종료됨.
메인보드 내장 그래픽카드를 쓰고 있어서 그런 것 같음.
. 해결책
시작 -> 설정 -> 제어판 -> 디스플레이 -> 설정 -> 고급
-> 문제해결 -> 하드웨어 가속
-> 없음(bar를 가장 왼쪽으로 보냄.)
Maya를 재시작함.

. Maya supported qualified Hardware
http://www.alias.com/glb/eng/support/maya.jsp
-> Maya Discussion에 질문하면 다음 답을 줌.
http://www.alias.com/glb/eng/support/maya/qualified_hardware/index.jsp

전공 공부에 대한 몇 가지 조언들

2006. 1. 8. 23:55 | Posted by 속눈썹맨
전공 분야에 5년간 공부하면서 깨달은 점들을 몇가지 적어보면 다음과 같다.

1. 책값과 밥값은 절대 아끼지 마라.
인터넷에 좋은 자료가 있다는 말은 다 거짓말이다.
좋은 자료는 역시 책이다. 아무리 책을 스캔해놨든, MSDN으로 적어놨든, google님이 reference를 자동으로 찾아주건 공부는 책으로 해야 한다.
일단 한 번 읽어본 내용을 다시 찾을 때는 google이나 MSDN를 써라.

삽질해서 배운 지식이 오래 남는 다는 것은 절반은 거짓말이다.
삽질을 안하고 한 번에 할 수 있는 걸 바쁜데 삽질할 시간이 없다.
삽질을 아무리 많이 했어도 잊어버리면 다음번에 그만큼 또 삽질한다.
인생은 짧고 할 일은 많다. 삽질은 이미 선배들이 다 해놨으니 책 사서 봐라.
그런 삽질들은 대부분 1년 지나면 필요없는 잡기술들이다.
책값이 1~5만원이면 비싸보이지만 프로그래머는 초봉도 일당 10만원이 넘고 학원 수강료도 한달이면 수십만원이다. 한 시간 아끼면 만원을 버는 것이다. 5시간 이상 아낄 수 있다면 무조건 책을 하나 사라.

밥값은 건강을 위해 아끼지 말라는 의미도 있고 모르면 다른 사람에게 물어보고 밥을 사주라는 의미도 있다. 그 사람과 친해질 수도 있고 책보다 훨씬 싸다.

2. 뭐든 적어라.
자신만의 순서와 방법을 만들어서 다시 적어야 한다.
실용적인 지식은 책 한 권에 다 들어있지 않다.
책은 항상 기술별로 모여있다. 증상별, 주제별, 절차별로 재분류하고 소화시키는 작업을 다시 해야 한다.

책에 있는 데, 다시 적을 필요가 없다는 것은 말이 안된다.
적다보면 무엇이 중요한지, 어떤 것은 별로 안 쓰는 것인지 알게 된다.
자연스럽게 중요한 기능들만 적게 되고 그것만 보면 대부분의 일을 할 수 있다.
1000페이지짜리 책을 다시 볼 시간이 없다. 자신이 적은 20줄짜리 메모가 훨씬 가치있다.

3. 책의 목차와 검색 엔진에 의존하지 말아라.
검색 엔진의 결과는 언제나 춤추듯 변하고 인터넷 링크는 금방 깨진다.
한 번 찾은 결과는 다시는 찾기 힘들다. 항상 copy 떠서 적어둬라.
(Copy right문제가 걸린다면 숨겨두고 혼자봐라. 혼자보는 건 안 걸린다.)

4. 뭐든 적어라. 2
어떤 일이든 다시 재현할 수 있게 해라.
그것이 버그이던 환경설정이든, 에러 메시지이건 상관없다. 다 적어라.
기능이 많아지면서 메뉴가 n단계 깊숙한 곳에 있다면 그 곳에 접근하는 방법도 적어라.
Visual Studio나 MSN, 윈도우 제어판을 써도 어떤 기능을 켜거나 끄려면 최소한 3단계에서 10단계까지 버튼을 눌러 깊숙히 들어가야 한다.
자신만의 노트 을 만들어라. 뉴스그룹에 질문했을 때 바로 대답을 들을 수 있을 만큼 적어라.
성공만 기록하지 말고 실패도 다 기록해라. 어떻게 하면 실패하는 지, 왜 실패했는 지 알 수 있게 해라.
성공 사례는 교과서에 나오지만 실패 사례는 교과서에 좀처럼 나오지 않는 다.

5. 욕심 부리지 마라.
잡지에 나오고 신문에 나오는 수많은 기술들은 그 기사를 적은 사람조차 다 이해하지 못하게 많다. 다 배우는 것은 어차피 불가능하다. 거기에 나오는 것 중에 하나를 배우는 데도 최소 일주일에서 1년 이상이 걸린다. 기초만 충실하면 다 따라갈 수 있다. 지금 가장 필요하고 10년 전에도 중요했고 10년 후에도 쓰일 것 같은 것부터 공부해라.

6. 권위있는 책을 사라.
솔직히 잡지 책 내용은 다 조각난 잡동사니 지식들이라 영업사원들에게나 적합한 것이다. 번역해서 나온 책들은 대부분 조잡하다.
"xx 1주일만에 끝내기.", "xx 1개월만에 끝내기" 같은 책은 그 분야를 가르쳐줄 사람이 정말로 아무도 없을 때 흥미유발로 보는 책으로 생각하고 한 번 보고 버려라. 그것은 단지 소개를 위한 용도로만 쓰고 진짜 공부는 권위자가 쓴 책으로 해라.

7. 몰라도 계속 해라.
책을 읽을 때 모르는 부분은 skip하고 계속 읽다보면 언젠가는 알게 되던지, 별로 필요없는 부분이었다는 것을 알게 될 것이다. 일단 진도를 빨리 나가라.
정말로 발목을 잡는 부분이라고 생각되면 더 쉬운 책을 읽던지, 자신이 무엇이 이해가 안되는 지 적어놔라.

8. 질문을 잘해라.
처음 질문은 특정 증상이나 좁은 범위의 것으로 하면 오히려 어려울 수 있다.
자신이 어떤 것을 하고 싶은 지, 어떤 분야를 공부하고 싶은 지, 그 분야에서 가장 권위있는 사람은 누구인지, 가장 좋은 책은 무엇인지 부터 물어라.

9. 전공 수업을 들어라.
책은 내용이 매우 명확하지만 읽는 데 오래 걸린다. 수업을 들어주면 금방 이해할 수 있는 내용도 있다.

Visual Studio .NET 2003 + OpenGL + GLUT

2005. 12. 30. 21:19 | Posted by 속눈썹맨
http://www.opengl.org/resources/libraries/glut.html

. 설치
1. GLUT 라이브러리를 다운로드 하여 적절한 폴더에 압축을 푼다.
http://www.xmission.com/~nate/glut.html
-> glut-3.7.6-bin.zip (117 KB)
미리 컴파일 된 것을 받는 다.

2. 다음과 같은 파일들이 보일 것이다.
glut.dll (필요없는 파일, 복사 안해도 된다.)
glut32.dll
glut.h
glut.lib (필요없는 파일, 복사 안해도 된다.)
glut32.lib

3. glut.dll 과 glut32.dll 을 윈도우즈 폴더에 복사해 넣는다.
예)
Win98 & WinXP 의 경우 -> C:\WINDOWS
WinNT & Win2000 의 경우 -> C:\WINNT

4. glut.h 을 다음과 같은 경로에 복사해 넣는다.
:\\include\GL\glut.h
예) VC6 인 경우
C:\Program Files\Microsoft Visual Studio\VC98\Include\GL\glut.h
예) VC.net 2003 인 경우
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\gl\glut.h

5. glut.lib 과 glut32.lib 를 다음과 같은 경로에 복사해 넣는다.
:\\lib\glut.lib
:\\lib\glut32.lib

예) VC6 인 경우
C:\Program Files\Microsoft Visual Studio\VC98\lib\glut.lib
C:\Program Files\Microsoft Visual Studio\VC98\lib\glut32.lib

예) VC.net 2003 인 경우
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Lib\glut.lib
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Lib\glut32.lib

6. 여기까지 GLUT 라이브러리의 설치가 끝났고 이제 남은 것은 프로젝트에 이를 사용할 수 있게끔 설정하는 것이다. 아래의 순서와 같다.
(1) VC++ 을 구동하고 new project 를 생성한다. (File->New)
(2) Projects 탭에서 Win32 Console Application 를 선택한다.
(3) 프로젝트 이름과 프로젝트가 생성될 폴더를 정한다.
(4) an empty project를 선택하지 않는 다.
(다시 채워넣으려면 귀찮다.)
(5) Project 메뉴에서 Settings... 을 선택한다.
(6) Link 탭을 선택한다.
(7) Object/library module 부분의 맨 앞에 다음을 추가하고 OK 를 누른다.
opengl32.lib glut32.lib glu32.lib

(8)staftx.h에 추가할 내용
#include
#include
#include
#include
#include

. glut 쓸 때 console window 안 뜨게 하기.(removing the console window)
----------------------------------------------------------------------
#pragma comment(linker, "/subsystem:\"windows\" \ /entry:\"mainCRTStartup\"")
----------------------------------------------------------------------
이 내용을 반드시 #include 위에 적는 다.
(#include 위에 적었을 때는 console window가 뜬다.)
. console이 있으면 디버깅시 메시지를 찍을 수 있어서 좋다.
마우스 좌표, 함수 call 정보 등 많은 것을 찍어 볼 수 있다.

. OpenGL SuperBible 3th
P.50 프로그램
책에서는 OpenGL.h를 include하라고 하지만 그 파일은 없다.
대신 gl/glut.h를 include한다.
파란색 창이 뜬다.

P.55
파란창 안에 빨간 rectangle이 그려진다.

GLUT Tutorial
http://www.lighthouse3d.com/opengl/glut/

Programming guide
http://www.opengl.org/documentation/red_book_1.0/

Reference manual
http://www.rush3d.com/reference/opengl-bluebook-1.0/

GLUT documentation
http://www.opengl.org/resources/libraries/glut/spec3/spec3.html

Rubberband Method, Gravity field

2005. 12. 30. 19:52 | Posted by 속눈썹맨
. Rubberband Method
도형을 그릴 때 마우스 왼쪽 버튼에서 손을 때기 전까지
늘이고 줄어드는 상황이 보이는 것.
(MS PPT의 UI 등에서 채용하고 있다.)

. Gravity Field
Winamp의 창처럼 창을 움직이면 가장자리에 가까워지면 척~하니 붙음.

FLUID(Fast Light User Interface Designer)

2005. 12. 30. 16:09 | Posted by 속눈썹맨
D:\util\fltk-1.1.x-r4721\fluid\fluid.exe 를 실행

. main 함수 만들기
New -> Code -> Function/Method -> main() 함수를 만든다.

. 윈도우 만들기
New -> Group -> Window

. 버튼 만들기
Window를 연다. -> 마우스 오른쪽 클릭 -> Buttons -> Button -> Close

. Hierarchy가 생긴다. 각각의 node에 적절한 것들을 추가한다.
. delete key를 누르면 지워진다.

. 저장
File -> Save -> hello.fl로 저장한다.

. fl 파일을 cxx, h 파일로 변환
File -> Write Code
hello.cxx, hello.h 파일이 생긴다.

Makefile을 만든다.
-------------------------------------------------------------------
###
### Simple FLTK Makefile for Visual Studio 7.x
###
#
# In fluid, use shell command:
# cmd /k "nmake hello && hello && exit || pause && exit"
#

FLTKDIR=C:/fltk-1.1.3
CXX=cl
CXXFLAGS=/MD /TP /nologo /I$(FLTKDIR)
LIBS=/link $(FLTKDIR)\\lib\\fltk.lib \
wsock32.lib comctl32.lib kernel32.lib user32.lib \
gdi32.lib shell32.lib ole32.lib oleaut32.lib
.SUFFIXES: .cxx .obj .exe
.cxx.exe:
$(CXX) $(CXXFLAGS) $*.cxx $(LIBS)

hello: hello.exe

clean:
-del *.obj > NULL
-del *.exe > NULL
-------------------------------------------------------------------

cd D:\work\fluid_test
nmake
hello.exe

. shell에서 실행하기 (Atl+k)
Shell -> Execute Command -> cmd /k "C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\vsvars32.bat && nmake hello && hello && exit || pause && exit"
잘 안되면 그냥 cmd로 가서 실행하자.

. callback function 설정하기
button을 클릭 -> C++ -> Callback -> Button_CB
(CB는 Callback의 약자)
New -> Code -> Function
-> Name : Button_CB(Fl_Widget*, void*)
-> Return Type : static void
(Callback function은 반드시 위와 같은 type을 써야 한다.)

New -> Code -> Code -> 적절한 명령 집어넣기
New -> Code -> Declaration -> 적절한 헤더파일 include문 입력

위로 보내기(Edit -> Earlier) : F2
아래로 보내기(Edit -> Later) : F3
(소스 코드에서 어느 위치에 와야할 지 지정,
declaration이 먼저오고 callback, main 순으로 오는 것이 좋다.)

. Menu bar구성
Menu_bar -> MenuItem
Menu_bar -> SubMenu -> MenuItem

. Style
버튼이 눌렸을 때(Down), 안 눌렸을 때(Up)일 때 색, 글자, 글꼴등을 정할 수 있다.

. Input도 받을 수 있다.
변수명->value로 값을 바꿀 수도 있다.

. Layout
각 widget들이 어떻게 배치될지 결정할 수 있다.
grid : 얼마의 폭으로 widget들이 움직일지 정한다.

nmake, cl

2005. 12. 30. 15:34 | Posted by 속눈썹맨
. nmake.exe (Visual Studio .NET Command Prompt에 PATH가 걸려있다.)
Microsoft Programing Maintenance Utility

C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\nmake.exe
C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\bin\nmake.exe

사용법 보기 :
make /?
help make

. cl.exe
Microsoft C/C++ Optimizing Compiler
사용법 보기 : cl /?

cmd.exe 내용 복사

2005. 12. 30. 14:35 | Posted by 속눈썹맨
마우스 오른쪽 클릭 -> 표시 -> 복사할 영역을 드래그 함
-> enter를 누름

적절한 곳에서 붙여 넣기를 함.

마우스 오른쪽 클릭 -> 모두 선택 -> enter를 해도 됨.

Visual Studio .NET Command Prompt

2005. 12. 30. 14:24 | Posted by 속눈썹맨
Start->Programs->Visual Studio .Net 2003->Visual Studio .Net Tools->Visual Studio .NET 2003 Command Prompt

C:\WINDOWS\system32\cmd.exe에 비해 편리하다.
(nmake, cl등의 프로그램 환경이 설정되어 있다.)

register에 다음 내용을 추가해도 됨

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\cmd_vs]
Open VS Command Prompt Here

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\cmd_vs\command]
cmd.exe /k "C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\vsvars32.bat"

http://objectsharp.com/blogs/dave/archive/2003/12/10/227.aspx

FLTK(Fast Light Toolkit) 사용하기

2005. 12. 28. 21:37 | Posted by 속눈썹맨
. Video Tutorial
http://seriss.com/people/erco/fltk-videos/
왼쪽 클릭은 빨간색 동그라미, 오른쪽 클릭은 파란색 동그라미로 나타난다.

. FLTK 1.1 받기
http://www.fltk.org/ -> Download -> fltk-1.1.x-r4721.tar.gz

. 메뉴얼
http://www.fltk.org/ -> Manual -> FLTK 1.1.x -> HTML With Comment -> FLTK Basics -> Writing Your First FLTK Program

. 압축풀기

. FLTK를 build한다.
fltk-1.1.x-r4721\visualc\fltk.dsw을 연다.
Convert 할지 물으면 Yes To ALL을 선택한다.
(fltk-1.1.x-r4721\vcnet\fltk.sln을 Visual Studio .NET 2003으로 연다.)
Debug Mode에서 Ctrl+Shift+B를 눌러 build를 한다.
(F5를 눌러 실행을 하는 것은 에러가 난다. build만 하자.)
수많은 vcproj들이 하나씩 build될 것이다.
그러면서 fltk-1.1.x-r4721\lib 디렉퇴에 lib 파일이 하나씩 채워진다.
(처음에는 README.lib 파일 밖에 없었다.)
Build: 70 succeeded, 0 failed, 0 skipped 라고 나오면 모두 성공한 것이다.

. fltkdll.dll 파일복사
D:\util\fltk-1.1.x-r4721\vcnet\fltkdll.dll 파일을 C:\WINDOWS에 복사한다.

\test에 예제 프로그램이 컴파일 된다. (원래 .exe파일은 없었다.)
.exe 파일을 실행해 볼 수도 있고 대응되는 *.cxx 소스파일을 찾아서 볼 수도 있다.
예) curved.exe -> curve.cxx

. header 파일 위치
\FL
. lib 파일 위치
\lib

위의 build과정에서 dependent-argument 에러가 난다면
Tools -> Options -> Projects -> VC++ Directories -> Show directories for : 에서 위에 압축 디렉토리가 있다면 지우고 다시 빌드한다.

프로젝트 열기
New Project -> Win32 Project -> foo라는 이름으로 만듬

Project -> 프로그램명 Property Pages -> Configuration Properties
-> C/C++
-> Runtime Library -> Multi-threaded DLL(/MD)
-> Precompiled Headers -> Created/Use Precompiled Header -> Not Using Precompiled Headers
-> Command Line -> Additional Options -> /Id:\util\fltk-1.1.4
-> Linker
-> Command Line -> d:\util\fltk-1.1.4\fltk.lib wsock32.lib comctl32.lib

foo.cpp 외에는 모두 지운다.
foo.cpp의 내용도 모두 지우고 console 프로그램을 예제 프로그램과 같이 짠다.
실행시키면 된다.

lsass.exe 웜

2005. 12. 28. 19:22 | Posted by 속눈썹맨
Windows install 과정 중 lsass.exe라는 웜이 감염되어
lsass.exe파일이 이상하다는 에러가 뜬다.
그리고 시스템이 60초 안에 리부팅된다.
시스템 시계를 하루 뒤로 돌리면 1일의 시간을 벌 수 있다.
(매번 부팅시마다 하루씩 돌리면서 버텨본다.)

Windows XP Service pack 2까지 설치해야 막을 수 있다.
(Service Pack 1을 깔지 않아도 2를 깔 수 있다.)
D:에 미리 카피해두거나 이동식하드에 저장하거나 CD로 구워둔다.

Windows Install시에는 local에서 service pack 2까지 업그레이드하려면
불편하다. 그러므로 install시 랜선을 꼽지 말고 모든 설치 완료 후
방화벽을 먼저 켠 다음 랜선을 끼우면 그런 일이 없다.

그리고 만약 이미 감염되었다면 windows를 재설치 한다.