shader学习笔记(一)

这篇博客介绍了如何使用openFrameworks进行shader开发,从创建第一个项目配置OpenGL版本开始,逐步讲解如何绘制三角形并利用ofMesh类操作顶点。在setup()中定义三角形的顶点,draw()中绘制。此外,还展示了如何通过键盘事件来移动三角形的位置,实现基本的交互功能。
摘要由CSDN通过智能技术生成

学习书本:shader开发实战,使用工具:openFrameworks
1.创建第一个项目,新的项目包含3个源代码文件:main.cpp,ofApp.h,offApp.cpp。main中需要配置OpenGL版本,如下:

#include "ofMain.h"
#include "ofApp.h"
//========================================================================
int main( ){
	ofGLWindowSettings glSetting;
	glSetting.setSize(1024,768);
	glSetting.windowMode = OF_WINDOW;
	glSetting.setGLVersion(4,1);
	ofCreateWindow(glSetting);
	ofRunApp(new ofApp());
}

2.创建第一个三角形
openFrameworks中表示网格的类是ofMesh。现创建一个ofMesh对象,并使用该对象的addvertex()函数提供顶点位置。其中openFrameworks使用数学库GLM处理数学向量问题。setup()只在第一帧调用,类似unity中的start()方法,draw每一帧调用。下图即是该代码块运行画面:
注意:左上角坐标为(0,0)

//第一帧调用
void ofApp::setup(){
	triangle.addVertex(glm::vec3(0,0,0));
	triangle.addVertex(glm::vec3(0, 768.0, 0));
	triangle.addVertex(glm::vec3(1024.0, 768.0, 0));
}
//每一帧调用
void ofApp::draw(){
	triangle.draw();

}

1-1

3.通过按键移动三角形位置

void ofApp::keyPressed(int key){
	glm::vec3 curpos = triangle.getVertex(2);
	triangle.setVertex(2, curpos+glm::vec3(0, 20.0, 0));
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值