1 // 2 // Copyright (c) 2014 The ANGLE Project Authors. All rights reserved. 3 // Use of this source code is governed by a BSD-style license that can be 4 // found in the LICENSE file. 5 // 6 7 #ifndef LIBGLESV2_TRANSFORM_FEEDBACK_H_ 8 #define LIBGLESV2_TRANSFORM_FEEDBACK_H_ 9 10 #include "common/angleutils.h" 11 #include "common/RefCountObject.h" 12 13 #include <GLES3/gl3.h> 14 #include <GLES2/gl2.h> 15 16 namespace gl 17 { 18 19 class TransformFeedback : public RefCountObject 20 { 21 public: 22 explicit TransformFeedback(GLuint id); 23 virtual ~TransformFeedback(); 24 25 void start(GLenum primitiveMode); 26 void stop(); 27 GLboolean isStarted() const; 28 29 GLenum getDrawMode() const; 30 31 void pause(); 32 void resume(); 33 GLboolean isPaused() const; 34 35 private: 36 DISALLOW_COPY_AND_ASSIGN(TransformFeedback); 37 38 GLboolean mStarted; 39 GLenum mPrimitiveMode; 40 GLboolean mPaused; 41 }; 42 43 } 44 45 #endif // LIBGLESV2_TRANSFORM_FEEDBACK_H_ 46