首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络游戏 >

OpenGL混合方式解决办法

2012-02-23 
OpenGL混合方式需要绘制半透明曲线,用鼠标拖动绘制,暂时采用绘制线段并在两端加上原点来消除较大的锯齿(线

OpenGL混合方式
需要绘制半透明曲线,用鼠标拖动绘制,暂时采用绘制线段并在两端加上原点来消除较大的锯齿(线宽较大后,以为直线为方块点组成,拐角处有明显的缺口)。
  现采用混合绘制半透明曲线时因重复绘制两个断点颜色加深,用 glBlendEquation(GL_MAX); 运行出错,调试提示0xC0000005: Access violation。
  绘线部分:
glBegin(GL_LINES);
glVertex2f((GLfloat)orignPoint.x, (GLfloat)orignPoint.y);
glVertex2f((GLfloat)curPoint.x, (GLfloat)curPoint.y);
glEnd();
glBegin(GL_POINTS);
glVertex2f((GLfloat)orignPoint.x, (GLfloat)orignPoint.y);
glVertex2f((GLfloat)curPoint.x, (GLfloat)curPoint.y);
glEnd();
   
orignPoint = curPoint;
  设置半透明笔部分:
glBlendFunc(GL_ONE, GL_ONE);
glEnable(GL_BLEND);
glBlendEquation(GL_MAX); //调试到这里出错

  初学OpenGL,不知道是否有其他方法能实现类似 PowerPoint 幻灯片的荧光笔绘制效果。

   
 

[解决办法]
贴下你混合的代码看看
[解决办法]
你可以采用类似photoshop图层的技术,把曲线先不用半透明绘制到一个纹理上,然后用这个纹理再半透明混合到背景上就可以了

热点排行