#include "ofApp.h"
//--------------------------------------------------------------
void ofApp::setup(){
ofBackground(40);
ofSetVerticalSync(false);
ofEnableAlphaBlending();
ofSetLogLevel(OF_LOG_VERBOSE);
shader.load("shaders/noise.vert", "shaders/noise.frag");
bUseShader = false;
//we load a font and tell OF to make outlines so we can draw it as GL shapes rather than textures
int fontSize = ofGetWidth() / 10;
font.load("type/verdana.ttf", fontSize, true, false, true, 0.4, 72);
}
//--------------------------------------------------------------
void ofApp::update(){
}
//--------------------------------------------------------------
void ofApp::draw(){
ofPushStyle();
ofSetColor(245, 58, 135);
ofFill();
if(bUseShader) {
shader.begin();
shader.setUniform1f("timeValX", ofGetElapsedTimef() * 0.1 ); // we want to pass in some varrying values to animate our type / color
shader.setUniform1f("timeValY", -ofGetElapsedTimef() * 0.18 );
shader.setUniform2f("mouse", mousePoint.x, mousePoint.y); // we also pass in the mouse position
}
ofRectangle rect = font.getStringBoundingBox("openFrameworks", 0, 0); // size of text.
int x = (ofGetWidth() - rect.width) * 0.5; // position in center screen.
int padding = rect.height + 50; // draw the text multiple times.
for(int y=rect.height; y<ofGetHeight(); y+=padding) {
font.drawStringAsShapes("openFrameworks", x, y);
}
if(bUseShader) {
shader.end();
}
ofPopStyle();
}
//--------------------------------------------------------------
void ofApp::exit(){
}
//--------------------------------------------------------------
void ofApp::touchDown(ofTouchEventArgs & touch){
bUseShader = true;
}
//--------------------------------------------------------------
void ofApp::touchMoved(ofTouchEventArgs & touch){
// we have to transform the coords to what the shader is expecting which is 0,0 in the center and y axis flipped.
mousePoint.x = touch.x * 2 - ofGetWidth();
mousePoint.y = ofGetHeight() * 0.5 - touch.y;
}
//--------------------------------------------------------------
void ofApp::touchUp(ofTouchEventArgs & touch){
bUseShader = false;
}
//--------------------------------------------------------------
void ofApp::touchDoubleTap(ofTouchEventArgs & touch){
}
//--------------------------------------------------------------
void ofApp::touchCancelled(ofTouchEventArgs & touch){
}
//--------------------------------------------------------------
void ofApp::lostFocus(){
}
//--------------------------------------------------------------
void ofApp::gotFocus(){
}
//--------------------------------------------------------------
void ofApp::gotMemoryWarning(){
}
//--------------------------------------------------------------
void ofApp::deviceOrientationChanged(int newOrientation){
}
Comments