diff options
Diffstat (limited to 'libs/rs/rsProgramFragment.h')
-rw-r--r-- | libs/rs/rsProgramFragment.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/libs/rs/rsProgramFragment.h b/libs/rs/rsProgramFragment.h index 9fa565d..7c1598e 100644 --- a/libs/rs/rsProgramFragment.h +++ b/libs/rs/rsProgramFragment.h @@ -40,6 +40,11 @@ public: virtual void createShader(); virtual void loadShader(Context *rsc); virtual void init(Context *rsc); + virtual void serialize(OStream *stream) const; + virtual RsA3DClassID getClassId() const { return RS_A3D_CLASS_ID_PROGRAM_FRAGMENT; } + static ProgramFragment *createFromStream(Context *rsc, IStream *stream); + + void setConstantColor(float, float, float, float); protected: // Hacks to create a program for now @@ -48,6 +53,10 @@ protected: RsTexEnvMode mEnvModes[MAX_TEXTURE]; uint32_t mTextureEnableMask; bool mPointSpriteEnable; + bool mVaryingColor; + + float mConstantColor[4]; + int32_t mConstantColorUniformIndex; }; class ProgramFragmentState @@ -57,7 +66,7 @@ public: ~ProgramFragmentState(); ProgramFragment *mPF; - void init(Context *rsc, int32_t w, int32_t h); + void init(Context *rsc); void deinit(Context *rsc); ObjectBaseRef<Type> mTextureTypes[ProgramFragment::MAX_TEXTURE]; |