public virtual void registerProgram(String name, AsByteArray vertexProgram, AsByteArray fragmentProgram)
        {
            if (mPrograms.containsKey(name))
            {
                throw new AsError("Another program with this name is already registered");
            }
            AsProgram3D program = mContext.createProgram();

            program.upload(vertexProgram, fragmentProgram);
            mPrograms[name] = program;
        }