• About
    • Resume
A Game Developer also plays some guitar

Monthly Archives: November 2009

You are browsing the site archives by month.

On Sale

November 21, 2009 10:00 am / 3 Comments / Benny Chen

这是我最近的个人状态:On Sale.

已经把自己挂牌出去一个多月了,但今年的市场行情确实不容乐观,纵眼望去,it is the massive scene of layoffs.

为了给自己找到一个理想的买家,最近一个月是在四处散发自己的“传单”,但一部分传单发出去之后就是杳无音信,一部分给了我回复,也给了我纸上证明自己的机会,不过一直自我感觉发挥的不理想。所以到现在为止,还没有一家买家给我face-to-face的机会,更没有收到一份“Purchase Order”。

几家欢喜几家愁,一江春水你往哪儿流啊。呜呼,什么时候才能把自己卖出去呢,我能找到一家中意的买家么。

谁将是我跨出校园后的第一个雇主呢,继续耐心的等待中…

Posted in: Something In The Way

My Footsteps of Programming 3DS Max Exporter Plug-in

November 20, 2009 9:03 pm / 4 Comments / Benny Chen

Several months ago, I achieved to develop a 3DS Max exporter plug-in. But until recently, I didn’t get the time to jot down something about my experience while developing it. Finally, thank God, I am starting to write this article, in case that several years later I totally forget how I did it at that time.

As you know, 3DS Max is a powerful tool for creating 3D models, especially widely-used in games. But generally we cannot directly get our model from 3DS Max, otherwise, we need a sort of middleware to retrieve specified model data we need from 3DS Max and export them into a specific type of file. This middleware is right the exporter plug-in.

OK, with this concept in mind, let’s get started.

Step by step, I will roughly present my footsteps of programming a 3ds max exporter plug-in based on 3DS Max 9 SDK.

Get familiar with 3DS Max and SDK

As we all know, there are a series of 3DS Max versions. Firstly you need to choose one to program based on. At the time of my embarking on this plug-in, the latest version is 3DS Max 2009. However, I chose Max 9 because it is already a widely-used and popular version. Most importantly, my laboratory was using Max 9.

Before doing some real programming jobs, it is pretty important to gain some basic concepts of 3ds max. We needn’t to be a perfect 3D designer ourselves, but these are the essential concepts we must know.

  • what is a Node in 3ds max
  • the hierarchical chart of nodes
  • how materials are attached to a node
  • what is a node’s Modifier
  • key-frame animation and how bone nodes are attached to normal nodes
  • the Biped technique

The fact is, the more we want to export from 3DS Max, the more we need to concern about it. For example, if we also want to export the data of camera or light from Max(meshes for games usually don’t export these data), we must apprehend what is a camera or light node in Max and how they work with other nodes.

But how the hell could we get the detail of these knowledge? Turn to the Max SDK Document, whenever you have any confusion with Max. Besides, we can also log on to Autodesk’s official Web site for more help.

BTW, the assumption here is that you are already familiar with some 3D concepts, like vertex, triangle, mesh, texture, space transformation, skinned animation, etc. If you are still a 3D newbie, you’d better figure them out firstly.

To be continued…

Predefine mesh file format

Export static mesh data

Export skinned animation

Posted in: Computer Graphics / Tagged: 3ds max, exporter, plug-in, 导出插件

Colours

November 14, 2009 12:53 pm / 3 Comments / Benny Chen

百忙之中,贴一首我很喜欢的歌,一首喜欢了很久的歌,Colours。

原作是Donovan,但我第一次听到这首歌的版本是他和Joan Baez的Duet版,后来才听到了Donovan的原版。在Duet版本中,Donovan的声音像极了迪伦,以至于我第一次听到时默认为就是贝茨和迪伦的合唱版。

两个版本我都很喜欢,不过更喜欢有贝茨掺和进来的版本,太他妈好听了。

这里我将两个版本都呈上,配着北京今天的阳光,这样的音乐让人忘记了最近所有的不快。

Colours – by Donovan

Colours – a live duet by Donovan & Joan Baez

Yellow is the colour of my true love’s hair,
In the morning, when we rise,
In the morning, when we rise.
That’s the time, that’s the time,
I love the best.

Blue’s the colour of the sky-y,
In the morning, when we rise,
In the morning, when we rise.
That’s the time, that’s the time,
I love the best.

Green’s the colour of the sparklin’ corn,
In the morning, when we rise,
In the morning, when we rise.
That’s the time, that’s the time,
I love the best.

Mellow is the feeling that I get,
When I see her, m-hmm,
When I see her, oh yeah.
That’s the time, that’s the time,
I love the best.

Freedom is a word I rarely use,
Without thinking, m-hmm,
Without thinking, oh yeah.
Of the time, of the time,
When I’ve been loved.

Posted in: Music Heaven / Tagged: Colours, Donovan, Joan Baez

日积月累: Uncopyable & Uninheritable in C++

November 13, 2009 4:45 pm / 7 Comments / Benny Chen

如何在C++中阻止复制和继承呢,我做了个整理。

Uncopyable
有些类需要禁止被复制或者赋值,这需要显示的禁掉它们的拷贝构造和赋值函数。
摘自《Effective C++》Item 6: Explicitly disallow the use of compiler-generated functions you do not want

class Uncopyable 
{
protected:                                   // allow construction
    Uncopyable() {}                       // and destruction of
    ~Uncopyable() {}                     // derived objects...

private:
    Uncopyable(const Uncopyable&);             // ...but prevent copying
    Uncopyable& operator=(const Uncopyable&);
};

class UncopyableExample: private Uncopyable 
{ 
    // THIS CLASS IS UNCOPYABLE
}; 

Uninheritable
Java提供了final关键字用来阻止被继承,而在C++中没有这个关键字,但阻止继承的类在C++中是同样可能的。
摘自:http://www.csse.monash.edu.au/~damian/Idioms/Topics/04.SB.NoInherit/html/text.html

template <class OnlyFriend>
class Uninheritable
{
    friend class OnlyFriend;
    Uninheritable(void) {}
};

class NotABase : virtual public Uninheritable< NotABase >
{
    // WHATEVER
};

class NotADerived: public NotABase
{
    // THIS CLASS GENERATES A COMPILER ERROR
    NotADerived(){}
};
Posted in: C++, Talking in Code / Tagged: C++, 禁止复制, 禁止继承

LinkedIn

Milan Petrovic

Categories

  • In My Life (25)
    • A Day in the Life (8)
    • English Learning (2)
    • Learn a Word (7)
    • Something In The Way (8)
  • Music Heaven (8)
    • Guitar (1)
    • In Concert (1)
    • Lyrics (3)
  • OK Computer (54)
    • 3D (3)
    • C++ (10)
    • Computer Graphics (15)
    • Game Programming (23)
    • iOS (6)
    • Linux (1)
    • Lua (9)
    • My Projects (3)
    • Some Experiences (9)
    • Talking in Code (2)
    • Unity (2)
  • Quotations (2)
  • Uncategorized (1)
  • Visca Barça (24)
    • FCB BJ (5)

Recent Posts

  • [译]优化你的手机游戏(没有延迟的,才是健康的)- 一篇给游戏美术设计师读的文章
  • 新浪微博API for MOAI
  • 稍后继续
  • Unity Developer ++
  • Another Thread @ Moai Forum
  • 1st Day of Golden Week
  • 为SyntaxHighlighter添加新语言
  • 基于Lua的State Pattern
  • Class Diagram of Pacman
  • 基于Moai的Pacman

Recent Comments

  • 约修亚_RK on 为SyntaxHighlighter添加新语言
  • 爱装的小男孩 on 小心DLL链接静态库时的内存错误
  • happyfire on Game Loop的几种实现方式
  • William on 新浪微博API for MOAI
  • Benny Chen on 新浪微博API for MOAI
  • your man on 新浪微博API for MOAI
  • 你家男人 on 稍后继续
  • 逍遥 on 关于对std::vector的遍历
  • papa on Unity Developer ++
  • T客网 ︱ Techpot » Blog Archive » iOS开发与OpenGL ES相关问题整理(1) on iOS开发与OpenGL ES相关问题整理(1)

Tags

2d 3D 3dsmax 3ds max air Apply architecture Asia tour barca Beijing bilbao binary search blocked bob boost bruce springsteen C++ capo CGContextDrawImage Champions League Change DLL DX10 eval exporter flash framework frustum culling game game engine iniesta ios linux lua Moai opengles pacman plug-in plugin 北京 导出插件 崩溃 巴萨 游戏引擎 踢球
© Copyright 2026 - A Game Developer
Infinity Theme by DesignCoral / WordPress