- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Processing入门教学草稿1-7章
群(ncf群的不用加我会共享资源的)官网会给出eclipse配置的方法。给大家一个现成的模板。已经配置好需要的库。大家参造官网的教程看一遍。把包的地址改对。bool Initialize(); * 执行所有的初始化工作,如果成功函数返回true void Deinitialize(); * 执行所有的卸载工作 void Update(DWORD milliseconds); * 执行所有的更新操作,传入的参数为两次操作经过的时间,以毫秒为单位 void Draw(); * 执行所有的绘制操作执行所有的初始化工作执行所有的绘制操作gluPerspective(45.0f,(GLfloat)width/(GLfloat)height,0.1f,100.0f); // 设置视口的大小
glMatrixMode(GL_MODELVIEW); // 选择模型观察矩阵
glLoadIdentity();
...
当然 也可以用更加简单的方法
例如size(800,600,base.OPENGL);
从这里可以看出封装好的OpenGL库省去了大量工作。简单点说就是Processing给了我们一个默认的OpenGL配置。在学习初期来说Processing是比OpenFrameworks方便的。
如果不加其他灯光或是滤镜的话。配置环境写一下size()就可以结束了
然后我们开始绘制图元,绘制过程都是在draw里面的,因为draw会循环。想停止循环的话执行一下noloop()就行了,如果想控制循环速度用FrameRate()。
图元可以理解为图形的组成。常见的点线面这些。
点的话。Processing给了单独的函数
beginShape(POINTS);
vertex(30, 20);
endShape();
而三角面
beginShape(TRIANGLE);
vertex(30, 75);vertex(40, 20);vertex(50, 75);
endShape();
直线或是多段线也是类似
beginShape(LINES);
vertex(30, 20);vertex(85, 20);vertex(85, 75);vertex(30, 75);
endShape()
最后如果想覆盖上一帧画的内容 在绘制图元之前用background()来擦除绘图板。基本的过程就是这样,很容易理解。
既然用eclipse来做。语法是java语法。所以我推荐大家看一看java的教程。其实只要看完OOP(面向对象)部分就可以开始了,剩下部分可以在需要的时候再看,因为我不是一个专业程序员,所以java语法部分是不在教学范畴的。其实少撸2局dota就看完了,话说为什么又是dota中枪。
第三章,改色
明白了大致框架 我们就可以开始copy了。从最简单的开始吧。随便找一个官方的demo。二话不说先copy下来。
public void setup(){
size(640, 360,OPENGL);
}
public draw(){
background(0);
translate(width/2, height/2, 0);
stroke(255);
rotateX(PI/2);
rotateZ(-PI/6);
noFill();
beginShape(TRIANGLES);
vertex(-100, -100, -100);
vertex( 100, -100, -100);
vertex( 0, 0, 100);
vertex( 100, -100, -100);
vertex( 100, 100, -100);
vertex( 0, 0, 100);
vertex( 100, 100, -100);
vertex(-100, 100, -100);
vertex( 0, 0, 100);
vertex(-100, 100, -100);
vertex(-100, -100, -100);
vertex( 0, 0, 100);
endShape();
}
这段代码绘制了一个三棱锥。而且位置是在窗口正中。然后初学的话大家可能看不懂其中的一些函数。比如有的人可能不懂noFill()。简单途径是去官网reference查询。或者尝试背一下PApplet基本函数。
既然copy下来了。我们稍稍做一下修改大概就可以宣称拥有“独立的知识产权”了吧。首先是颜色。看了reference我们知道涉及到颜色的有background(0);stroke(255); noFill();把数值改一下就能获得不同颜色。nofill是线框模式,改成fill(250)可以变成填色RG
文档评论(0)