OpenGL几何着色器实现贝塞尔曲线
几何着色器 (GS) 是用 GLSL 编写的着色器程序,用于控制基元的处理。几何着色器位于顶点着色器(或Tessellation 阶段)和Vertex Post-Processing阶段之间。 本文实现的是三次方贝塞尔曲线。 P0、P1、P2、P3四个点在平面或在三维空间中定义了三次方贝塞尔曲线。曲线起始于P0走向P1,并从P2的方向来到P3。一般不会经过P1或P2;这两个点只是在那里提供方向资讯。P0和P1之间的间距,决定了曲线在转而趋进P3之前,走向P2方向的“长度有多长”。 曲线的参数形式为: 需要注意的是,显卡会影响曲线的绘制效果,如果使用的是集中显卡,建议切换为独立显卡。 lines_adjacency: line_strip: geometry_shader_bezier.vs geometry_shader_bezier.gs geometry_shader_bezier.fs main.cpp 效果: 完整项目代码: https://github.com/mc-liyanliang/OpenGL-Shader/tree/master