Archive for the ‘3D’ Category

Easy Rigging Tool - My MEL Rigging Tool

September 2, 2005
When I did my Demo Reel in the Seneca College, I found I had to rig characters again and again. For me, rigging is a boring works, and hard. I tried to find some rigging tool for my characters. I used Final rigging, advanced skeleton tool, but I found they were all too [...]

Leave a Comment

Improving MJ Poly Tools (updated on June 18, 2005)

This MEL plugin was created in 2005, June. I just move my weblog here.
(June 13, 2005:)
I like MJ Poly Tools. I think it is great. It is very useful when I do modeling.
One day I asked my MEL teacher Mr. Martin Mayer to give me some suggestions for my MEL studying. He told me [...]

Leave a Comment

加拿大college的入学考试是随专业不同有不同要求,并不都是很简单

(本贴写于2006年7月2日)
我这里补充一下关于入学考试的情况。
比如seneca的会计,国际贸易,digital media,3D Game。前三者基本要求是高中毕业生,而3D Game是postgraduate的,基本要是:要求先有美术方面的diploma。

Leave a Comment

EasykeysTools (updated)

New feature:

One click to select all objects that you have keyed.

But for our talking ball assignment , don’t care the following condition, they are not the objects what you have keyed.

Hi! Guy!
What did you think after you finished your “LiftGuy” animation assignment?
You set many keys in your file, right? like me did it:

Then, How did [...]

Leave a Comment

Something about applying to Seneca 3D Animation program

(注意这是大概2005~2006年写的老文章,今天搬到这里来,供参考, Please attention this post was written in 2005 or 2006, I just moved my old Blog website to here)
Sorry about I write this post so lately. There were many friends asked me how to apply to 3D Animation program of Seneca college. In fact, you can visit Seneca’s website especially the website of Animation [...]

Leave a Comment

A MEL tool for Maya - Shader Transparency Tools

A MEL tool for Maya - Shader Transparency Tools (I modified a little)
I modified it base on the tools that teacher provided. It can slide transparent object. The difference is mine can be minimized and maximized. It is more convinient when you modeling. Because the old one always display on the top screen, you have [...]

Leave a Comment

You must be shocked by them ! 感受三维动画的震撼

I collected some very great short animation films  on the internet. If you want
to know how they can shock you, just click the following URLs.
I hope you guy can give me more suggestions, and  more information of short
information films on the internet so that I can update this post constantly, I will
put your name in [...]

Leave a Comment

bluebohe: OpenGL 下的文字显示

bluebohe: OpenGL 下的文字显示
from: http://blog.csdn.net/bluebohe/archive/2004/02/20/21063.aspx
一直以来,OpenGL状态下的文字显示都是一个问题,本文使用嵌套显示列表的方式进行OpenGL状态下的字符串的显示。
有以下几点需要注意:
1:本程序显示按照给定的高度和文字的位置显示某一种字体的文字,其中一些字体的参数定义在OpenGLText内部给定,可以随意将它抽出来。如果将代码用于实际应用中,建议文字的文字间距自己设定,也可以随意添加文字的倾斜角、旋转角度、定位方式等等参数。
2:wglUseFontOutlines函数的第五个参数表示文字的精度(弦偏差),一般设置成零,但这样缺省的做法会导致文字太粗糙,可以将它设置成一个比较小的数,以提高文字显示的精确度,但这样会增加内存的占用量。
3:如果文字的高度比较小,文字的线条可能会出现断裂的现象,影响美观,解决这类问题有以下几种方式:(1)使用OpenGL反走样技术;(2)把文字的 轮廓用线条勾勒出来;(3)在文字的Draw成员函数中多次调用glCallList函数,每次调用向周围平移一个像素,这样的话会使文字的线条断裂问题 大为改观,速度也是三种方式中最快的。
本文的详细代码在这里,欢迎参考:下载源程序
应用方式如下:
COpenGLText text;
COpenGLText text2;
text2.m_dX=0;
text2.m_dY=200;
glLoadIdentity();
glClear(GL_COLOR_BUFFER_BIT);
glColor4f(0.0f, 0.0f, 1.0f, 1.0f);
text.Draw(”宋体”);
text2.Draw(”楷体_GB2312″);
glFlush();
类的声明和实现如下:
#include <string>
using namespace std;
class COpenGLText
{
public:
//构造文字
COpenGLText();
virtual ~COpenGLText();
//绘制制定字体的文字,字体只在第一次绘制时进行设置,之后可以传入空值
void Draw(char *strFontName);
//释放文字所占空间
void Free();
//文字字符串
string m_str;
//字符串高度
double m_dHeight;
//字符串位置
double m_dX;
double m_dY;
protected:
BOOL GenList();
BOOL GenCharsLists(char *strFontName);
int m_iDisplayList;
};
//////////////////////////////////////////////////////////////////////
// COpenGLText Class
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
COpenGLText::COpenGLText()
{
m_dX=0;
m_dY=0;
m_str=”abc中国”;
m_dHeight=100;
m_iDisplayList=0;
}
COpenGLText::~COpenGLText()
{
Free();
}
BOOL COpenGLText::GenCharsLists(char *strFontName)
{
HDC hdc;
const char *str=m_str.c_str();
hdc=CreateDC( “DISPLAY”, “”, “”, NULL );
int iNum=_mbslen((const unsigned char *)str);
m_iDisplayList=glGenLists(iNum+1);
HFONT hNewCFont;
LOGFONT CLogFont; //存储当前字体参数
//初始化字体参数
memset( &CLogFont, 0, sizeof(LOGFONT) );
CLogFont.lfEscapement = CLogFont.lfOrientation = 0;
CLogFont.lfWeight [...]

Leave a Comment