OpenGL中如何实现一个橡皮筋矩形?
各位大侠,如何在OpenGL中实现一个橡皮筋矩形? 问题点数:0、回复次数:7Top
1 楼zzwu(未名)回复于 2003-10-03 10:36:20 得分 0
我想不需要用OpenGL实现.
如果你是用 VC来调用OpenGL,就用 VC实现,
如果你是用 Delphi来调用OpenGL,就用 Delphi实现,
这会方便得多吧?
Top
2 楼iamBradPitt(将)回复于 2003-10-03 15:52:55 得分 0
zzwu兄:
可是在vc的环境中进行Opengl的有关设置后,vc的GDI工具似乎都不能使用了,怎么办?
具体一点,例如,在OnMouseMove()中,如何删去前一步画的矩形框而同时又不影响其他已经绘制的图元呢?Top
3 楼uuq(杜牧)回复于 2003-10-03 20:11:13 得分 0
是说选择功能吧,Opengl不是有那个拾取功能吗?Top
4 楼zzwu(未名)回复于 2003-10-05 14:38:23 得分 0
在OnMouseMove()时,要记下move前的的点,并用XOR模式在这个原来画过图形的地方重画一遍原来的图形,这样就可以擦去原来图形; 然后再在新的地方画一次,同样也要用XOR画,以便移动后也能被擦去.Top
5 楼autoegg(哲学指引生活 && (动心忍性,增益其所不能))回复于 2003-10-08 13:18:21 得分 0
关注大侠的讲解!Top
6 楼alphapaopao(炮炮)回复于 2003-10-10 17:34:01 得分 0
我有例子程序,时采用 OpenGL 中的 logic op 实现的。效果很不错。
给我发封信,我把程序email给你
alphasun@etang.com
-------------------------------------------------------
http://www.betajin.com/alphasun/index.htmTop
7 楼wwwdfq1977(qswl)回复于 2003-10-11 22:50:24 得分 0
opengl中根本不需要擦除原先画的东西,因为opengl是基于双缓冲的,同样在gdi中如果使用双缓冲,画动画时也不需要所谓的xor操作擦除原先画的东西
例如你画矩形
DrawRect(rect);
只需调整rect的大小就可以了Top




