请问cdyxl和各位opengl高手,文字显示问题 (200分)

  • 主题发起人 主题发起人 genglimin
  • 开始时间 开始时间
G

genglimin

Unregistered / Unconfirmed
GUEST, unregistred user!
一个立方体,表示电视,要在立方体上绘制“电视“两个字,能和立方体一起进行放大、缩小、旋转等处理,应该怎么写
 
我不是高手,有些东西与大家共享,愿高手指教。
下面的程式不妨一试:
procedure formcreate( );
begin
// 如果你的系统中没有以下字体,请选择另一个在你的系统中使用的字体
// 但只能选择矢量字体,不能选择位图字体
Font.Name := '宋体';
SelectObject(DC, Font.Handle);

// 用这种字体Create display lists for each character in the font:
fontBase := glGenLists(256);
wglUseFontOutlines(DC,
0, //是否显示冒号:
256,
fontBase,//显示列表的基
0,//0:smooth; 1:flat
0.1, // 推移厚度.
WGL_FONT_POLYGONS, nil);
// 修改显示列表的基为正确值,以确保每次总能调用正确的显示列表
glListBase(fontBase);
end;

procedure gldraw( );
begin
glCallLists(2, GL_UNSIGNED_BYTE, PChar('电视'));
end;
在用gltranslate(),glrotate();做相应的处理。
 
TO:genglimin
哈哈,我也不是什么高手。只是懂点皮毛而已。还忘兄弟指教。
同意wantsinewy兄弟。[:D][8D]
其实,在OPENGL中显示中文文字只是ASCII码的问题。

不知你要的是何种效果??? 如果只是为了平面上显示“电视”两个字,贴图也可以。只是
放大后有锯齿效果。这是个弊端。
如果用wantsinewy兄弟的方法,渲染出来的是3D效果。
看你自己喜欢了。呵呵![:D][:D][:D]

 
看样子是高手

呵呵,楼上两位看看我的问题吧,拜托了

http://www.delphibbs.com/delphibbs/dispq.asp?lid=2046221
 
请问上面的显示中文的代码,改成VC++的代码是怎样的?
不要3D效果。
 
若不要3D效果,你可以试一下高手cdyxl大哥所说的贴图。
翻译成C语言也不是很难的,只是赋值符改一下,Opengl函数的调用几乎是一样的。
 
谢谢各位 关于贴图的办法 能说的集体一点吗 那些文字 是动态产生的
 
谢谢各位 关于贴图的办法 能说的具体一点吗 那些文字 是动态产生的
 
后退
顶部