WebGL: INVALID_OPERATION: useProgram: program not valid
来源:2-4 绘制一个点

毛利小萌萌
2024-06-09
const vertex_source = void main() { gl_Position = vec4(0.0, 0.0, 0.0, 1.0) gl_PointSize = 10.0 }
//片元着色器源码
const fragment_source = void main() { gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) }
//创建着色器
const vertex = ctx.createShader(ctx.VERTEX_SHADER)
const fragment = ctx.createShader(ctx.FRAGMENT_SHADER)
//指定着色器程序的源码
ctx.shaderSource(vertex, vertex_source)
ctx.shaderSource(fragment, fragment_source)
//编译着色器
ctx.compileShader(vertex)
ctx.compileShader(fragment)
//创建一个程序对象
const program = ctx.createProgram()
//程序对象使用着色器
ctx.attachShader(program, vertex)
ctx.attachShader(program, fragment)
//连接程序对象
ctx.linkProgram(program)
//使用程序对象
ctx.useProgram(program)
//执行绘制
ctx.drawArrays(ctx.POINTS, 0, 1)
1回答
-
yancy
2024-06-12
这个是完整代码吗?
00
相似问题