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图层的技术,把曲线先不用半透明绘制到一个纹理上,然后用这个纹理再半透明混合到背景上就可以了