• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C# BizwareGL.Texture2d类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中BizHawk.Bizware.BizwareGL.Texture2d的典型用法代码示例。如果您正苦于以下问题:C# Texture2d类的具体用法?C# Texture2d怎么用?C# Texture2d使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



Texture2d类属于BizHawk.Bizware.BizwareGL命名空间,在下文中一共展示了Texture2d类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: RenderTarget

		public RenderTarget(IGL owner, object opaque, Texture2d tex)
		{
			Owner = owner;
			Opaque = opaque;
			Texture2d = tex;
			tex.IsUpsideDown = true;
		}
开发者ID:CadeLaRen,项目名称:BizHawk,代码行数:7,代码来源:RenderTarget.cs


示例2: RenderTarget

 public RenderTarget(IGL owner, IntPtr handle, Texture2d tex)
 {
     Owner = owner;
     Id = handle;
     Texture2d = tex;
     tex.IsUpsideDown = true;
 }
开发者ID:cas1993per,项目名称:bizhawk,代码行数:7,代码来源:RenderTarget.cs


示例3: Set

 public void Set(Texture2d tex)
 {
     IntPtr handle;
     if (tex == null)
         handle = Owner.Owner.GetEmptyHandle();
     else handle = tex.Id;
     Owner.Owner.SetPipelineUniformSampler(this, handle);
 }
开发者ID:cas1993per,项目名称:bizhawk,代码行数:8,代码来源:PipelineUniform.cs


示例4: Run

		public unsafe void Run(Texture2d tex, Size InputSize, Size OutputSize, bool flip)
		{
			flip = false;
			//test

			//ack! make sure to set the pipeline before setting uniforms
			Bind();

			Pipeline["IN.video_size"].Set(new Vector2(InputSize.Width, InputSize.Height));
			Pipeline["IN.texture_size"].Set(new Vector2(tex.Width, tex.Height));
			Pipeline["IN.output_size"].Set(new Vector2(OutputSize.Width, OutputSize.Height));
			Pipeline["IN.frame_count"].Set(1); //todo
			Pipeline["IN.frame_direction"].Set(1); //todo


			var Projection = Owner.CreateGuiProjectionMatrix(OutputSize);
			var Modelview = Owner.CreateGuiViewMatrix(OutputSize);
			var mat = Modelview * Projection;
			mat.Transpose();
			Pipeline["modelViewProj"].Set(mat, true);

			Owner.SetTextureWrapMode(tex, true);

			sampler0.Set(tex);
			Owner.SetViewport(OutputSize);

			int w = OutputSize.Width;
			int h = OutputSize.Height;
			float v0,v1;
			if (flip) { v0 = 1; v1 = 0; }
			else { v0 = 0; v1 = 1; }
			float* pData = stackalloc float[10*4];
			int i=0;
			pData[i++] = 0; pData[i++] = 0; pData[i++] = 0; pData[i++] = 1; //topleft vert
			pData[i++] = 0; pData[i++] = 0; pData[i++] = 0; pData[i++] = 0; //useless color
			pData[i++] = 0; pData[i++] = v0;
			pData[i++] = w; pData[i++] = 0; pData[i++] = 0; pData[i++] = 1; //topright vert
			pData[i++] = 0; pData[i++] = 0; pData[i++] = 0; pData[i++] = 0; //useless color
			pData[i++] = 1; pData[i++] = v0;
			pData[i++] = 0; pData[i++] = h; pData[i++] = 0; pData[i++] = 1; //bottomleft vert
			pData[i++] = 0; pData[i++] = 0; pData[i++] = 0; pData[i++] = 0; //useless color
			pData[i++] = 0; pData[i++] = v1;
			pData[i++] = w; pData[i++] = h; pData[i++] = 0; pData[i++] = 1; //bottomright vert
			pData[i++] = 0; pData[i++] = 0; pData[i++] = 0; pData[i++] = 0; //useless color
			pData[i++] = 1; pData[i++] = v1;

			Owner.SetBlendState(Owner.BlendNoneCopy);
			Owner.BindArrayData(pData);
			Owner.DrawArrays(PrimitiveType.TriangleStrip, 0, 4);
		}
开发者ID:CadeLaRen,项目名称:BizHawk,代码行数:50,代码来源:RetroShader.cs


示例5: Set

		public void Set(Texture2d tex)
		{
			if (Owner == null) return; //uniform was optimized out
			Owner.Owner.SetPipelineUniformSampler(this, tex);
		}
开发者ID:CadeLaRen,项目名称:BizHawk,代码行数:5,代码来源:PipelineUniform.cs


示例6: PrepDrawSubrectInternal

		unsafe void PrepDrawSubrectInternal(Texture2d tex)
		{
			if (sTexture != tex)
			{
				sTexture = tex;
				CurrPipeline["uSampler0"].Set(tex);
				if (sTexture == null)
				{
					CurrPipeline["uSamplerEnable"].Set(false);
				}
				else
				{
					CurrPipeline["uSamplerEnable"].Set(true);
				}
			}

			if (_Projection.IsDirty)
			{
				CurrPipeline["um44Projection"].Set(ref _Projection.Top, false);
				_Projection.IsDirty = false;
			}
			if (_Modelview.IsDirty)
			{
				CurrPipeline["um44Modelview"].Set(ref _Modelview.Top, false);
				_Modelview.IsDirty = false;
			}
		}
开发者ID:CadeLaRen,项目名称:BizHawk,代码行数:27,代码来源:GuiRenderer.cs


示例7: Draw

		public void Draw(Texture2d art, float x, float y, float width, float height)
		{
			DrawInternal(art, x, y, width, height);
		}
开发者ID:CadeLaRen,项目名称:BizHawk,代码行数:4,代码来源:GuiRenderer.cs


示例8: SetTextureWrapMode

 public void SetTextureWrapMode(Texture2d tex, bool clamp)
 {
     if (CurrentBoundTexture == null)
         throw new InvalidOperationException();
 }
开发者ID:raiscan,项目名称:BizHawk,代码行数:5,代码来源:IGL_GdiPlus.cs


示例9: LoadTextureData

		public unsafe void LoadTextureData(Texture2d tex, BitmapBuffer bmp)
		{
			sdi.BitmapData bmp_data = bmp.LockBits();
			var tw = tex.Opaque as TextureWrapper;
			var dr = tw.Texture.LockRectangle(0, LockFlags.None);

			//TODO - do we need to handle odd sizes, weird pitches here?
			if (bmp.Width * 4 != bmp_data.Stride)
				throw new InvalidOperationException();

			dr.Data.WriteRange(bmp_data.Scan0, bmp.Width * bmp.Height * 4);
			dr.Data.Close();

			tw.Texture.UnlockRectangle(0);
			bmp.UnlockBits(bmp_data);
		}
开发者ID:SaxxonPike,项目名称:BizHawk,代码行数:16,代码来源:IGL_SlimDX9.cs


示例10: TexParameter2d

		public void TexParameter2d(Texture2d tex, gl.TextureParameterName pname, int param)
		{
			var tw = tex.Opaque as TextureWrapper;

			if(pname == gl.TextureParameterName.TextureMinFilter)
				tw.MinFilter = (param == (int)gl.TextureMinFilter.Linear) ? TextureFilter.Linear : TextureFilter.Point;
			if (pname == gl.TextureParameterName.TextureMagFilter)
				tw.MagFilter = (param == (int)gl.TextureMagFilter.Linear) ? TextureFilter.Linear : TextureFilter.Point;
		}
开发者ID:SaxxonPike,项目名称:BizHawk,代码行数:9,代码来源:IGL_SlimDX9.cs


示例11: SetTextureWrapMode

		public void SetTextureWrapMode(Texture2d tex, bool clamp)
		{
			var tw = tex.Opaque as TextureWrapper;
			tw.WrapClamp = clamp ? TextureAddress.Clamp : TextureAddress.Wrap;
		}
开发者ID:SaxxonPike,项目名称:BizHawk,代码行数:5,代码来源:IGL_SlimDX9.cs


示例12: SetPipelineUniformSampler

		public void SetPipelineUniformSampler(PipelineUniform uniform, Texture2d tex)
		{
			if (uniform.Owner == null) return; //uniform was optimized out
			var tw = tex.Opaque as TextureWrapper;

			foreach (var ui in uniform.UniformInfos)
			{
				var uw = ui.Opaque as UniformWrapper;
				dev.SetTexture(uw.SamplerIndex, tw.Texture);

				dev.SetSamplerState(uw.SamplerIndex, SamplerState.AddressU, tw.WrapClamp);
				dev.SetSamplerState(uw.SamplerIndex, SamplerState.AddressV, tw.WrapClamp);
				dev.SetSamplerState(uw.SamplerIndex, SamplerState.MinFilter, tw.MinFilter);
				dev.SetSamplerState(uw.SamplerIndex, SamplerState.MagFilter, tw.MagFilter);
			}
		}
开发者ID:SaxxonPike,项目名称:BizHawk,代码行数:16,代码来源:IGL_SlimDX9.cs


示例13: FreeTexture

		public void FreeTexture(Texture2d tex) {
			var tw = tex.Opaque as TextureWrapper;
			tw.Texture.Dispose();
		}
开发者ID:SaxxonPike,项目名称:BizHawk,代码行数:4,代码来源:IGL_SlimDX9.cs


示例14: LoadTextureData

 public void LoadTextureData(Texture2d tex, BitmapBuffer bmp)
 {
     bmp.ToSysdrawingBitmap(BitmapForTexture(tex));
 }
开发者ID:raiscan,项目名称:BizHawk,代码行数:4,代码来源:IGL_GdiPlus.cs


示例15: ResolveTexture2d

 public unsafe BitmapBuffer ResolveTexture2d(Texture2d tex)
 {
     //todo
     return null;
 }
开发者ID:raiscan,项目名称:BizHawk,代码行数:5,代码来源:IGL_GdiPlus.cs


示例16: LoadTexture

		public Texture2d LoadTexture(BitmapBuffer bmp)
		{
			var tex = new d3d9.Texture(dev, bmp.Width, bmp.Height, 1, d3d9.Usage.None, d3d9.Format.A8R8G8B8, d3d9.Pool.Managed);
			var tw = new TextureWrapper() { Texture = tex };
			var ret = new Texture2d(this, tw, bmp.Width, bmp.Height);
			LoadTextureData(ret, bmp);
			return ret;
		}
开发者ID:SaxxonPike,项目名称:BizHawk,代码行数:8,代码来源:IGL_SlimDX9.cs


示例17: TextureWrapperForTexture

 public TextureWrapper TextureWrapperForTexture(Texture2d tex)
 {
     return ResourceIDs.Lookup[tex.Id.ToInt32()] as TextureWrapper;
 }
开发者ID:raiscan,项目名称:BizHawk,代码行数:4,代码来源:IGL_GdiPlus.cs


示例18: ResolveTexture2d

		public unsafe BitmapBuffer ResolveTexture2d(Texture2d tex)
		{
			//TODO - lazy create and cache resolving target in RT
			var target = new d3d9.Texture(dev, tex.IntWidth, tex.IntHeight, 1, d3d9.Usage.None, d3d9.Format.A8R8G8B8, d3d9.Pool.SystemMemory);
			var tw = tex.Opaque as TextureWrapper;
			dev.GetRenderTargetData(tw.Texture.GetSurfaceLevel(0), target.GetSurfaceLevel(0));
			var dr = target.LockRectangle(0, LockFlags.ReadOnly);
			if (dr.Pitch != tex.IntWidth * 4) throw new InvalidOperationException();
			int[] pixels = new int[tex.IntWidth * tex.IntHeight];
			dr.Data.ReadRange(pixels, 0, tex.IntWidth * tex.IntHeight);
			var bb = new BitmapBuffer(tex.IntWidth, tex.IntHeight, pixels);
			target.UnlockRectangle(0);
			target.Dispose(); //buffer churn warning
			return bb;
		}
开发者ID:SaxxonPike,项目名称:BizHawk,代码行数:15,代码来源:IGL_SlimDX9.cs


示例19: DrawSubrect

		public void DrawSubrect(Texture2d tex, float x, float y, float w, float h, float u0, float v0, float u1, float v1)
		{
			DrawSubrectInternal(tex, x, y, w, h, u0, v0, u1, v1);
		}
开发者ID:CadeLaRen,项目名称:BizHawk,代码行数:4,代码来源:GuiRenderer.cs


示例20: CreateRenderTarget

		public RenderTarget CreateRenderTarget(int w, int h)
		{
			var d3dtex = new d3d9.Texture(dev, w, h, 1, d3d9.Usage.RenderTarget, d3d9.Format.A8R8G8B8, d3d9.Pool.Default);
			var tw = new TextureWrapper() { Texture = d3dtex };
			var tex = new Texture2d(this, tw, w, h);
			RenderTarget rt = new RenderTarget(this, tw, tex);
			return rt;
		}
开发者ID:SaxxonPike,项目名称:BizHawk,代码行数:8,代码来源:IGL_SlimDX9.cs



注:本文中的BizHawk.Bizware.BizwareGL.Texture2d类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# EmuHawk.InputRoll类代码示例发布时间:2022-05-24
下一篇:
C# BizwareGL.PipelineUniform类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap