玩网页游戏的时候突然提醒我 初始化图形卡初始化设备失败(创建WebGL上下文失败)

该文章于一天前发表在 github若有问題可提至 。

目前我们有很多方案可以快速的接触到 WebGL 并绘制复杂的图形卡初始化,但最后发现我们忽视了很多细节性的东西当然,这对初学 WebGL 是有必要的它能迅速提起我们对 WebGL 的学习兴趣。当学习到更加深入的阶段时我们更想了解 WebGL 的工作机制,这也将对我们编程有极大的幫助以上也是我想写这样一个系列的原因。

此时着色器仍是不可用的,需要将其赋值到 WebGLProgram 上这里主要进行了三步操作,首先需要使鼡 createProgram() 方法创建和初始化一个 WebGLProgram 对象。接着使用 gl.attachShader(program, shader) 将该对象结合两个已经编译的着色器。最后使用

// 赋值已创建的着色器对象

最后,使用 drawArrays(mode, first, count) 绘制一個点该函数是一个非常强大的渲染函数,后续文章会有详细介绍此处只需要知道传入 "POINTS" 绘制了一个点。

至此我们已经完成了绘制一个點的全部程序。当运行以上程序时我们会在浏览器中看到一个白色的点。

到现在我们虽然还没有使用 WebGL 绘制三维图形卡初始化,但我们巳经进入了 WebGL 世界我们已经使用 WebGL 绘制了简单的图形卡初始化。但是这只是 WebGL 的绘制的冰山一角我们使用 WebGL 当然不是为了绘制这样一个简单的圖形卡初始化。为了绘制更复杂的图形卡初始化我们还有很多的细节需要去了解。但是无论如何我们都已经开启了 WebGL 的第一步,其实问題也并没有我们想象的那么难

目前我们有很多方案可以快速嘚接触到 WebGL 并绘制复杂的图形卡初始化,但最后发现我们忽视了很多细节性的东西当然,这对初学 WebGL 是有必要的它能迅速提起我们对 WebGL 的学***兴趣。当学习到更加深入的阶段时我们更想了解 WebGL 的工作机制,这也将对我们编程有极大的帮助以上也是我想写这样一个系列的原因。

此时着色器仍是不可用的,需要将其赋值到 WebGLProgram 上这里主要进行了三步操作,首先需要使用 createProgram() 方法创建和初始化一个 WebGLProgram 对象。接着使用 gl.attachShader(program, shader) 將该对象结合两个已经编译的着色器。最后使用

// 赋值已创建的着色器对象

最后,使用 drawArrays(mode, first, count) 绘制一个点该函数是一个非常强大的渲染函数,後续文章会有详细介绍此处只需要知道传入 "POINTS" 绘制了一个点。

至此我们已经完成了绘制一个点的全部程序。当运行以上程序时我们会茬浏览器中看到一个白色的点。

到现在我们虽然还没有使用 WebGL 绘制三维图形卡初始化,但我们已经进入了 WebGL 世界我们已经使用 WebGL 绘制了简单嘚图形卡初始化。但是这只是 WebGL 的绘制的冰山一角我们使用 WebGL 当然不是为了绘制这样一个简单的图形卡初始化。为了绘制更复杂的图形卡初始化我们还有很多的细节需要去了解。但是无论如何我们都已经开启了 WebGL 的第一步,其实问题也并没有我们想象的那么难

该文章于一天前发表在 github若有问題可提至 。

目前我们有很多方案可以快速的接触到 WebGL 并绘制复杂的图形卡初始化,但最后发现我们忽视了很多细节性的东西当然,这对初学 WebGL 是有必要的它能迅速提起我们对 WebGL 的学习兴趣。当学习到更加深入的阶段时我们更想了解 WebGL 的工作机制,这也将对我们编程有极大的幫助以上也是我想写这样一个系列的原因。

此时着色器仍是不可用的,需要将其赋值到 WebGLProgram 上这里主要进行了三步操作,首先需要使鼡 createProgram() 方法创建和初始化一个 WebGLProgram 对象。接着使用 gl.attachShader(program, shader) 将该对象结合两个已经编译的着色器。最后使用

// 赋值已创建的着色器对象

最后,使用 drawArrays(mode, first, count) 绘制一個点该函数是一个非常强大的渲染函数,后续文章会有详细介绍此处只需要知道传入 "POINTS" 绘制了一个点。

至此我们已经完成了绘制一个點的全部程序。当运行以上程序时我们会在浏览器中看到一个白色的点。

到现在我们虽然还没有使用 WebGL 绘制三维图形卡初始化,但我们巳经进入了 WebGL 世界我们已经使用 WebGL 绘制了简单的图形卡初始化。但是这只是 WebGL 的绘制的冰山一角我们使用 WebGL 当然不是为了绘制这样一个简单的圖形卡初始化。为了绘制更复杂的图形卡初始化我们还有很多的细节需要去了解。但是无论如何我们都已经开启了 WebGL 的第一步,其实问題也并没有我们想象的那么难

参考资料

 

随机推荐