|
2004년 01월 22일
0. API란?
_______________________________________________ 다음 중 API의 푼말로 맞는 것은? ① Application Program Interface ② Application Programming Interface ③ Application Programmer's Interface 연재를 하기로 마음 먹고나서 인터넷을 여기저기 뒤져보니까 이 모든 용어가 다 나오더라구요. Program이든, Programming이든, Programmer든 얼추 비슷한 말이라고 보면 뜻은 대충 나오는 것 같죠? 어떤 곳에선 API와 GUI를 비교하기도 하더라구요. 둘 다 Interface라는 거죠, GUI는 Graphical한, User들을 위한 Interface라면, API는 Programmer를 위한 Interface라고... Prgramming을 하다보면 자주 쓰는 코드가 생기게 됩니다. 이런 코드들을 나중에도 쓸 수 있게 하기 위해 모아두는 걸 Library라고 하는데요, API는 프로그램 개발자들을 위해 제공되는 Library입니다. 해당 Application을 위한 플러그 인 개발등의 프로그래밍을 할 때 자주 사용할 수 있는 코드들인 거죠. SDK(Software Development Kit)는 보통 이 API와 함께 제공되는 Document까지 통틀어 부르는 말입니다. Maya를 설치하실 때 보면 Development Kit을 설치할 지 선택하는 옵션이 있죠? 이때 설치되는게 Maya API와 API를 위한 Document들입니다. AWMaya4.0devkit 밑에 예제 프로그램들이 설치되고, AWMaya4.0include, AWWMaya4.0lib 에 library file이, AWdocsen_UShtmldevkit 밑에 Document가 설치됩니다. 1. Maya API로 할 수 있는 일들은... _______________________________________________ - 새로운 MEL Command - DG Node - Shader, Texture, Shading Utility - Modeling Shape - Tool, Manipulator - Infinity and Beyond... 1) 새로운 MEL Command - 이 부분은, 기존 MEL 작업과 비슷한 부분입니다. MEL로 만드는게 더 편하고 쉬울 수도 있지만, API를 이용하면 MEL 보다 더 다양한 API 함수들을 이용할 수 있기 때문에, MEL로는 불가능하던 프로그램도 만들 수가 있구요. 실행속도가 적어도 10배 이상 빠릅니다. 또한, 새로운 MEL Command를 만들어 다른 MEL Script에서 사용할 수도 있구요. 2) DG Node - 3D View 상에 보이는, Transform, nurbsSurface 등의 Node 뿐 아니라, 3D View상에선 보이지 않지만 숨어서 자기 역할을 하고 있는 time 노드나 shading 노드, unitConversion노드 등 Maya 안에 존재하는 모든 Object Node들이 다 Dependency Graph Node죠. 서로 서로에에 영향을 줄 수 있는 애들이라서 Dependency 입니다. 수학의 Graph Theory에서 Node란 용어를 빌려 왔으니까 Graph Node구요. Maya가 network 구조라고 하는 것도 이 DG Node사이의 connection network를 가리키는 말이구요. - DG Node중에서 3D View 상에서 보이는 Node들, Hierarchy구조를 갖고 있는 Transform, NurbsSurface, Polygonal Mesh 등의 Node들을 특별히 DAG(Directed Acyclic Graph) Node라고 부릅니다. 기본적으로, Hierarchy 구조이기 때문에 한 방향, 비순환 구조(Directed Acyclic)이죠. A가 B의 parent이면서 동시에 B의 child일 수 없으니까요. 3) Shader, Texture, Shading Utility - Shader, Texture, Shading Utility들 역시 DG Node이지만, 기존에 RenderMan Shading Language를 사용해서 Shader를 만드시던 분들이 쉽게 접근하실 수 있는 부분 같습니다. 특별히, 이 연재를 시작하게 된 것도, API를 사용해서 Texture나 Shader 만드는 법을 설명해드리는게 1차적 목표이구요. 하지만, RenderMan Shading Langauge보다 10배는 불편합니다. 4) Modeling Shape - NURBS, Polygon, Subdivision 외에 여러분의 정의에 의한 Shape를 만들 수 있습니다. H-Spline 같은 것도 가능하겠죠? 5) Tool, Manipulator - Maya에서 Tool이란 특정 state가 되어서 이후의 마우스 동작을 입력으로 받고, enter 키를 누르는 등의 동작에 의해 종료되는 일종의 작업 상태(context)를 말합니다. Manipulator는 특정 tool의 조작을 위해 화면에 나타나는 도구이고요. 6) Infinity and Beyond... - 상용으로 발표되는 Plug-in들이 모두 API를 사용해서 Maya와 연결됩니다. 기술과 상상력이 바탕이 되는 모든 것들이 이 범주에 들 것 같네요. _______________________________________________ 자자, 1강은 여기까지. 질문들 하세요. |
최근 등록된 덧글
Maya Plug-in Wizard 는 여기..
by 해커킬러 at 10/28 잘봤습니다. 친절하게 잘 설명해.. by 랄프 at 05/26 강좌 완전 친절해요 ㅠ_ㅠb 정말.. by 문 at 03/19 이글루 파인더
카테고리
MEL Tips
Maya API on Rendering CG | VFX Java | JSP | DB from Gyedo Scraps Belief Book Movie Game Gadgets for fun Japanese June 라이프로그
이전블로그
2008년 04월
2008년 03월 2008년 02월 2008년 01월 2007년 11월 2007년 10월 2007년 08월 2007년 06월 2007년 05월 2007년 04월 2007년 03월 2007년 02월 2007년 01월 2006년 12월 2006년 09월 2006년 06월 2006년 05월 2006년 03월 2006년 02월 2006년 01월 2005년 12월 2005년 11월 2005년 10월 2005년 09월 2005년 07월 2005년 06월 2005년 05월 2005년 04월 2005년 03월 2005년 02월 2005년 01월 2004년 12월 2004년 11월 2004년 10월 2004년 09월 2004년 08월 2004년 07월 2004년 06월 2004년 04월 2004년 03월 2004년 01월 |