Example #1
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="program"></param>
 protected override void DoSetUniform(ShaderProgram program)
 {
     if (activeTexture == null)
     {
         activeTexture = OpenGL.GetDelegateFor <OpenGL.glActiveTexture>();
     }
     activeTexture(value.activeTextureIndex + OpenGL.GL_TEXTURE0);
     //OpenGL.BindTexture(OpenGL.GL_TEXTURE_2D, value.TextureId);
     OpenGL.BindTexture(value.target, value.TextureId);
     this.Location = program.SetUniform(VarName, value.activeTextureIndex);
 }
Example #2
0
 public override void SetUniform(ShaderProgram program)
 {
     if (glActiveTexture == null)
     {
         glActiveTexture = OpenGL.GetDelegateFor <OpenGL.glActiveTexture>();
     }
     glActiveTexture(value.ActiveTextureIndex);
     //OpenGL.BindTexture(OpenGL.GL_TEXTURE_2D, value.TextureId);
     OpenGL.BindTexture(value.target, value.TextureId);
     program.SetUniform(VarName, value.activeTextureIndex);
 }
 public override void SetUniform(ShaderProgram program)
 {
     if (glActiveTexture == null)
     { glActiveTexture = OpenGL.GetDelegateFor<OpenGL.glActiveTexture>(); }
     for (int i = 0; i < this.value.Length; i++)
     {
         glActiveTexture(this.value[i].ActiveTextureIndex);
         //OpenGL.BindTexture(OpenGL.GL_TEXTURE_2D, this.value[i].TextureId);
         OpenGL.BindTexture(this.value[i].target, this.value[i].TextureId);
         // TODO: assign the first location or last?
         this.Location = program.SetUniform(VarName, this.value[i].activeTextureIndex);
     }
 }
Example #4
0
 public override void SetUniform(ShaderProgram program)
 {
     if (glActiveTexture == null)
     {
         glActiveTexture = OpenGL.GetDelegateFor <OpenGL.glActiveTexture>();
     }
     for (int i = 0; i < this.value.Length; i++)
     {
         glActiveTexture(this.value[i].ActiveTextureIndex);
         //OpenGL.BindTexture(OpenGL.GL_TEXTURE_2D, this.value[i].TextureId);
         OpenGL.BindTexture(this.value[i].target, this.value[i].TextureId);
         program.SetUniform(VarName, this.value[i].activeTextureIndex);
     }
 }
Example #5
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="program"></param>
 protected override void DoSetUniform(ShaderProgram program)
 {
     if (activeTexture == null)
     {
         activeTexture = OpenGL.GetDelegateFor <OpenGL.glActiveTexture>();
     }
     for (int i = 0; i < this.Value.Length; i++)
     {
         samplerValue value = this.Value[i];
         activeTexture(value.activeTextureIndex + OpenGL.GL_TEXTURE0);
         //OpenGL.BindTexture(OpenGL.GL_TEXTURE_2D, this.value[i].TextureId);
         OpenGL.BindTexture(value.target, value.TextureId);
         // TODO: assign the first location or last?
         this.Location = program.SetUniform(VarName, value.activeTextureIndex);
     }
 }
Example #6
0
 /// <summary>
 /// resources(bitmap etc.) can be disposed  after this initialization.
 /// </summary>
 public void Initialize()
 {
     if (!this.initialized)
     {
         if (activeTexture == null)
         {
             activeTexture = OpenGL.GetDelegateFor <OpenGL.glActiveTexture>();
         }
         activeTexture(this.ActiveTextureIndex + OpenGL.GL_TEXTURE0);
         OpenGL.GenTextures(1, id);
         TextureTarget target = this.Target;
         OpenGL.BindTexture(target, id[0]);
         this.Sampler.Bind(this.ActiveTextureIndex, target);
         this.ImageFiller.Fill();
         OpenGL.GenerateMipmap((MipmapTarget)((uint)target));// TODO: does this work?
         //this.SamplerBuilder.Unbind(OpenGL.GL_TEXTURE0 - OpenGL.GL_TEXTURE0, this.Target);
         OpenGL.BindTexture(this.Target, 0);
         this.initialized = true;
     }
 }
Example #7
0
 /// <summary>
 /// resources(bitmap etc.) can be disposed  after this initialization.
 /// </summary>
 public void Initialize()
 {
     if (!this.initialized)
     {
         if (activeTexture == null)
         { activeTexture = OpenGL.GetDelegateFor<OpenGL.glActiveTexture>(); }
         activeTexture(this.ActiveTextureIndex + OpenGL.GL_TEXTURE0);
         OpenGL.GenTextures(1, id);
         TextureTarget target = this.Target;
         OpenGL.BindTexture(target, id[0]);
         this.Sampler.Bind(this.ActiveTextureIndex, target);
         this.ImageFiller.Fill();
         //OpenGL.GenerateMipmap((MipmapTarget)((uint)target));// TODO: does this work?
         //this.SamplerBuilder.Unbind(OpenGL.GL_TEXTURE0 - OpenGL.GL_TEXTURE0, this.Target);
         OpenGL.BindTexture(this.Target, 0);
         this.initialized = true;
     }
 }