本文整理汇总了C++中ofEasyCam::worldToScreen方法的典型用法代码示例。如果您正苦于以下问题:C++ ofEasyCam::worldToScreen方法的具体用法?C++ ofEasyCam::worldToScreen怎么用?C++ ofEasyCam::worldToScreen使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ofEasyCam
的用法示例。
在下文中一共展示了ofEasyCam::worldToScreen方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: draw
//--------------------------------------------------------------
void testApp::draw(){
ofBackgroundGradient(ofColor(64), ofColor(0));
ofSetColor(255);
ofDrawBitmapString("rotate: " + ofToString(rotationPosition), 10, 20);
ofDrawBitmapString("swipe: " + ofToString(swipePosition), 10, 40);
ofDrawBitmapString("magnify: " + ofToString(magnifyPosition), 10, 60);
ofDrawBitmapString("scroll: " + ofToString(scrollPosition), 10, 80);
ofDrawBitmapString("position: " + ofToString(mousePosition), 10, 100);
cam.begin();
ofPushMatrix();
ofTranslate(0, -180, 0);
ofDrawGrid(1000, 40, false, false, true, false);
ofPopMatrix();
ofSetColor(ofColor::gray);
mesh.drawWireframe();
glPointSize(2);
ofSetColor(ofColor::white);
mesh.drawVertices();
cam.end();
int n = mesh.getNumVertices();
float nearestDistance = 0;
ofVec2f nearestVertex;
int nearestIndex;
ofVec2f mouse(mouseX, mouseY);
for(int i = 0; i < n; i++) {
ofVec3f cur = cam.worldToScreen(mesh.getVertex(i));
float distance = cur.distance(mouse);
if(i == 0 || distance < nearestDistance) {
nearestDistance = distance;
nearestVertex = cur;
nearestIndex = i;
}
}
ofSetColor(ofColor::gray);
ofLine(nearestVertex, mouse);
ofNoFill();
ofSetColor(ofColor::yellow);
ofSetLineWidth(2);
ofCircle(nearestVertex, 4);
ofSetLineWidth(1);
ofVec2f offset(10, -10);
ofDrawBitmapStringHighlight(ofToString(nearestIndex), mouse + offset);
}