public spriteTexture(WebGLRenderingContext webgl, string url = null, textureformat format = textureformat.RGBA, bool mipmap = false, bool linear = true) { this.webgl = webgl; this.format = format; this.mat = new spriteMat();//ness this.mat.tex0 = this; this.mat.transparent = true; this.mat.shader = "spritedefault"; if (url == null)//不给定url 则 texture 不加载 { return; } this.texture = webgl.CreateTexture(); this.img = new Bridge.Html5.HTMLImageElement();// Image();// HTMLImageElement(); //ness this.img.Src = url; this.img.OnLoad = (e) => { if (this.disposeit) { this.img = null; return; } this._loadimg(mipmap, linear); }; }
public static TextureInfo Create(WebGLRenderingContext gl, string fileName) { var texture = gl.CreateTexture(); var textureInfo = new TextureInfo( texture: texture, width: Optional <int> .Missing, height: Optional <int> .Missing ); var image = new HTMLImageElement(); image.Src = fileName; image.OnLoad = (ev) => { textureInfo.Width = image.Width; textureInfo.Height = image.Height; gl.BindTexture(gl.TEXTURE_2D, textureInfo.Texture); gl.TexImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image); gl.TexParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR); textureInfo.OnLoad?.Invoke(); }; return(textureInfo); }
static public spriteTexture fromRaw(WebGLRenderingContext webgl, HTMLImageElement img, textureformat format = textureformat.RGBA, bool mipmap = false, bool linear = true) { var st = new spriteTexture(webgl, null, format, mipmap, linear); st.texture = webgl.CreateTexture(); st.img = img; st._loadimg(mipmap, linear); return(st); }
public void InitTexture() { this.texture = gl.CreateTexture(); var textureImageElement = new HTMLImageElement(); textureImageElement.OnLoad = (ev) => { this.HandleLoadedTexture(textureImageElement); }; textureImageElement.Src = this.textureImageSrc; }
public override void BindTexture(uint target, uint texture) { WebGLTexture t = _textures[texture]; if (t == null) { t = gl.CreateTexture(); _textures[texture] = t; } //Log("binding texture " + t + " id " + texture + " for activeTexture: " + (_activeTexture - TEXTURE0)); gl.BindTexture(target, t); CheckError("glBindTexture"); _boundTextureId[_activeTexture] = texture; //glColor3f((float)Math.Random(), (float)Math.Random(), (float)Math.Random()); }
public void InitTexture(WebGLRenderingContext gl, string file) { Name = file; this.WebGLTexture = gl.CreateTexture(); var textureImageElement = new HTMLImageElement(); textureImageElement.OnLoad = (ev) => { this.HandleLoadedTexture(textureImageElement, gl); Width = textureImageElement.Width; Height = textureImageElement.Height; Console.WriteLine("OnLoad"); }; textureImageElement.Src = file; }