Advertisement
Guest User

Untitled

a guest
May 27th, 2015
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.34 KB | None | 0 0
  1. #include "ofMain.h"
  2.  
  3. class ofApp : public ofBaseApp
  4. {
  5.  
  6. ofFbo fbo_canvas;
  7. ofFbo fbo_to_artnet;
  8.  
  9. public:
  10.  
  11. void setup()
  12. {
  13. // fbo_canvas.allocate(27, 51, GL_RGB); // <-- NG: このサイズだとなんかピクピクしてる...
  14. fbo_canvas.allocate(28, 50, GL_RGB); // <-- OK: このサイズだとOK!
  15. fbo_to_artnet.allocate(512/3, 1, GL_RGB);
  16. }
  17.  
  18. void update()
  19. {
  20. ofPushStyle();
  21. {
  22. // canvasになんか絵をかく
  23. fbo_canvas.begin();
  24. ofClear(0);
  25. ofSetColor(255);
  26. ofRect(10, 10, 1, 1);
  27. fbo_canvas.end();
  28.  
  29.  
  30. // fbo_canvasで書いた絵をpixによみこみ
  31. ofPixels pix;
  32. fbo_canvas.readToPixels(pix);
  33.  
  34.  
  35. // 最終的にartnetに渡す用に、1列に整列
  36. fbo_to_artnet.begin();
  37. for (int y=0; y<pix.getHeight(); y++)
  38. {
  39. for (int x=0; x<pix.getWidth(); x++)
  40. {
  41. const ofColor &color = pix.getColor(x, y);
  42. ofSetColor(color);
  43. ofNoFill();
  44. ofRect(y*pix.getWidth() + x, 0, 1, 1);
  45. }
  46. }
  47. fbo_to_artnet.end();
  48. }
  49. ofPopStyle();
  50. }
  51.  
  52. void draw()
  53. {
  54. ofScale(5, 10); // 適当に大きくかく。コメントアウト可
  55.  
  56. ofPushStyle();
  57. {
  58. ofSetColor(255);
  59. fbo_canvas.draw(0, 0);
  60. fbo_to_artnet.draw(0, fbo_canvas.getHeight() + 1);
  61. }
  62. ofPopStyle();
  63. }
  64. };
  65.  
  66.  
  67.  
  68. #pragma mark -
  69. #pragma mark main
  70. int main(){
  71. ofSetupOpenGL(1600, 900, OF_WINDOW);
  72. ofRunApp(new ofApp());
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement