开发者社区> 问答> 正文

【html&js】下面的两个代码有什么区别??报错

两段代码我看了很久一直觉得是一模一样。

// HelloPoint1.js (c) 2012 matsuda
// Vertex shader program
var VSHADER_SOURCE = 
  'void main() {\n' +
  '  gl_Position = vec4(0.0, 0.0, 0.0, 1.0);\n' + // Set the vertex coordinates of the point
  '  gl_PointSize = 10.0;\n' +                    // Set the point size
  '}\n';

// Fragment shader program
var FSHADER_SOURCE =
  'void main() {\n' +
  '  gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);\n' + // Set the point color
  '}\n';

function main(){
  // Retrieve <canvas> element
  var canvas = document.getElementById('webgl');

  // Get the rendering context for WebGL
  var gl = getWebGLContext(canvas);
  if (!gl) {
    console.log('Failed to get the rendering context for WebGL');
    return;
  }

  // Initialize shaders
  if (!initShaders(gl,VSHADER_SOURCE,FSHADER_SOURCE)) {
    console.log('Failed to intialize shaders.');
    return;
  }

  // Specify the color for clearing <canvas>
  gl.clearColor(0.0, 0.0, 0.0, 1.0);

  // Clear <canvas>
  gl.clear(gl.COLOR_BUFFER_BIT);

  // Draw a point
  gl.drawArrays(gl.POINTS,0,1);
}



这是程序给的样例

//HelloPoint1.js
//顶点着色器程序
var V_SOURCE=
  'void main(){\n'+
  'gl_Position=vec4(0.0,0.0,0.0,1.0);\n'+//设置坐标
  'gl_PointSize=10.0;\n'+//设置尺寸
'}\n';
//片元着色器程序
var F_SOURCE=
  'void main(){\n'+
  'gl_FragColor = vec4(1.0,0.0,0.0,1.0};\n'+//设置颜色
'}\n';

function main(){
	//获取<canvas>元素
	var canvas=document.getElementById('webgl');

	//获取绘图上下文
	var gl=getWebGLContext(canvas);
	if(!gl){
		console.log('Failed to get the rendering context for WEBGL');
		return;
	}
	//初始化着色器程序
	if(!initShaders(gl,V_SOURCE,F_SOURCE)) {
	    console.log('Failed to initialize shaders.');
	    return; 
	}
	//设置<canvas>的背景颜色
	gl.clearColor(0.0,0.0,0.0,1.0);

	//清空<canvas>
	gl.clear(gl.COLOR_BUFFER_BIT);

	//绘制一个顶点
	gl.drawArrays(gl.POINTS,0,1);
}



这是我自己手打的。

HTML代码里链接样例页面显示正确,但是链接我的JS文件就报错。不知道哪里有问题。

展开
收起
爱吃鱼的程序员 2020-06-10 14:25:42 643 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    //初始化着色器程序

    这行下面的第一个if后面的括号你用了全角的括号,改成半角的即可。

    括号对比:

    (

    请给出错误信息谢谢

    引用来自“猫咪喵喵”的评论

    请给出错误信息谢谢
    2020-06-10 14:25:59
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript函数 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载

相关实验场景

更多