protected override void activate(int pass, AsContext3D context, AsTexture texture) { context.setProgramConstantsFromVector(AsContext3DProgramType.FRAGMENT, 0, mOnes, 1); context.setProgramConstantsFromVector(AsContext3DProgramType.FRAGMENT, 1, mMinColor, 1); context.setProgram(mShaderProgram); }
protected override void activate(int pass, AsContext3D context, AsTexture texture) { context.setProgramConstantsFromVector(AsContext3DProgramType.FRAGMENT, 0, mShaderMatrix); context.setProgramConstantsFromVector(AsContext3DProgramType.FRAGMENT, 5, MIN_COLOR); context.setProgram(mShaderProgram); }
protected override void activate(int pass, AsContext3D context, AsTexture texture) { updateParameters(pass, (int)(texture.getWidth() * texture.getScale()), (int)(texture.getHeight() * texture.getScale())); context.setProgramConstantsFromVector(AsContext3DProgramType.VERTEX, 4, mOffsets); context.setProgramConstantsFromVector(AsContext3DProgramType.FRAGMENT, 0, mWeights); if(mUniformColor && pass == getNumPasses() - 1) { context.setProgramConstantsFromVector(AsContext3DProgramType.FRAGMENT, 1, mColor); context.setProgram(mTintedProgram); } else { context.setProgram(mNormalProgram); } }
protected override void activate(int pass, AsContext3D context, AsTexture texture) { context.setProgram(mShaderProgram); }
private void updateBuffers(AsContext3D context, AsRectangle bounds) { mVertexData.setPosition(0, bounds.x, bounds.y); mVertexData.setPosition(1, bounds.getRight(), bounds.y); mVertexData.setPosition(2, bounds.x, bounds.getBottom()); mVertexData.setPosition(3, bounds.getRight(), bounds.getBottom()); if(mVertexBuffer == null) { mVertexBuffer = context.createVertexBuffer(4, AsVertexData.ELEMENTS_PER_VERTEX); mIndexBuffer = context.createIndexBuffer(6); mIndexBuffer.uploadFromVector(mIndexData, 0, 6); } mVertexBuffer.uploadFromVector(mVertexData.getRawData(), 0, 4); }
protected virtual void deactivate(int pass, AsContext3D context, AsTexture texture) { }
protected virtual void activate(int pass, AsContext3D context, AsTexture texture) { throw new AsError("Method has to be implemented in subclass!"); }
private void initializeGraphicsAPI() { mContext = mStage3D.getContext3D(); mContext.setEnableErrorChecking(mEnableErrorChecking); mPrograms = new AsDictionary(); updateViewPort(); AsGlobal.trace("[Starling] Initialization complete."); AsGlobal.trace("[Starling] Display Driver:", mContext.getDriverInfo()); dispatchEventWith(starling.events.Event.CONTEXT3D_CREATE, false, mContext); }