public ximg(ShaderResourceTexture T) { Prop = new bCAccessorPropertyObject(new eCImageResource2()); header = new ximgHeader(); Prop.Properties.addProperty("Width", "int", T.Width); Prop.Properties.addProperty("Height", "int", T.Height); Prop.Properties.addProperty("SkipMips", "long", 0); Prop.Properties.addProperty("PixelFormat", "bTPropertyContainer<enum eCGfxShared::eEColorFormat>", eCImageResource2_eCGfxShared_eEColorFormat.eEColorFormat_DXT1); System.IO.MemoryStream M = new System.IO.MemoryStream(T.Width * T.Height); M.Position = 0; SlimDX.Result r = SlimDX.Direct3D11.Texture2D.ToStream(T.Device.Context, T.Texture, SlimDX.Direct3D11.ImageFileFormat.Dds, M); long l = M.Position; M.Position = 0; tgaData = M.ReadBytes((int)l); M.Dispose(); }
public Material LoadMaterial(EFile _File, API_Device D) { if (_File.IsOpenable) { ShaderResourceTexture T = null; if (_File.Name == "Nat_Stone_Rock_01_Diffuse_01_Specular._xmat") T = new ShaderResourceTexture("Nat_Stone_Rock_01_Diffuse_01._ximg", D); else if (_File.Name == "Special_Water_Swamp_01_Diffuse_01._xmat") T = new ShaderResourceTexture("Special_Water_Caustics_01_Diffuse_01._ximg", D); else { XmatWrapper W = new XmatWrapper(_File); bCGuid src_Diffuse = (W.Mat.dataObj.Class as eCShaderDefault).ColorSrcDiffuse.Token; bCGuid src_Normal = (W.Mat.dataObj.Class as eCShaderDefault).ColorSrcNormal.Token; bCGuid src_Specular = (W.Mat.dataObj.Class as eCShaderDefault).ColorSrcSpecular.Token; if (src_Diffuse.IsValid) { eCShaderDefault shader = (W.Mat.dataObj.Class as eCShaderDefault); eCShaderEllementBase ellement = shader.GetEllementByGuid(shader.ColorSrcDiffuse.Token); if (ellement is subClassBase) T = (ellement as subClassBase).CreateTexture(D); } if (T == null) T = ShaderResourceTexture.WhiteTexture; } return new Material(T); } else { return new Material("42", true, D); } }
public void Init(API_Device D) { this.OwnerDraw = true; this.LargeImageList = this.SmallImageList = new ImageList(); this.LargeImageList.ImageSize = new Size(22, 22); this.LargeImageList.Images.Add(new Bitmap(this.LargeImageList.ImageSize.Width, this.LargeImageList.ImageSize.Height)); if (main != null) return; FileManager.g_pApp.PauseRendering(); GameLibrary.ShaderResourceTexture mT = new ShaderResourceTexture("GUI_IconSets01._ximg", D); System.IO.Stream S = new System.IO.MemoryStream(); SlimDX.Direct3D11.Texture2D.ToStream(D.Context, mT.Texture, SlimDX.Direct3D11.ImageFileFormat.Jpg, S); FileManager.g_pApp.ResumeRendering(); main = new Bitmap(S); mT.Dispose(); S.Dispose(); }
internal void createImageViewer(ShaderResourceTexture srt) { if ((iw != null) && (!iw.closed)) { iw.Texture = srt; if (iw.WindowState == FormWindowState.Minimized) iw.WindowState = FormWindowState.Normal; } else { iw = new ImageViewer(this, m_pApp.m_pPost); iw.Texture = srt; } }
static string ConvertImage(string a_OriginalImage, DirectoryInfo a_Dir) { if (!a_OriginalImage.EndsWith("._ximg")) { FileInfo FI = null; if (File.Exists(a_Dir.FullName + "/" + a_OriginalImage)) FI = new FileInfo(a_Dir.FullName + "/" + a_OriginalImage); else if (File.Exists(MainFolder + "/" + a_OriginalImage)) FI = new FileInfo(MainFolder + "/" + a_OriginalImage); if (FI != null && FI.Exists) { string s2 = FI.Name.Replace(FI.Extension, ""); string r = s2 + "._ximg"; EFile e = FileManager.CreateNewPhysicalFile(FileManager.NewFileType.Texture, r, false); if (!e.IsOpenable) { ShaderResourceTexture T = new ShaderResourceTexture(FI.FullName, D); ximg X = new ximg(T, new EFile(FI.FullName, new StdFileReader())); eCFile Fi = eCFile.CreateNew(e); Fi.Save(X); Fi.Close(); } return r; } } return a_OriginalImage; }
public ShaderResourceTexture CreateTexture(API_Device D) { if(ColorModifier == eEShaderColorModifier.eEShaderColorModifier_Default) return (Operand as subClassBase).CreateTexture(D); ShaderResourceTexture src = (Operand as subClassBase).CreateTexture(D); ShaderResourceTexture R = new ShaderResourceTexture(src.Width, src.Height, 1, SlimDX.Direct3D11.ResourceUsage.Default, SlimDX.Direct3D11.BindFlags.ShaderResource, SlimDX.Direct3D11.CpuAccessFlags.None, SlimDX.DXGI.Format.B8G8R8A8_UNorm, 1, SlimDX.Direct3D11.ResourceOptionFlags.None, D); FileManager.e_MatEffect.Variables["sourceTex0"].SetVariable(src.ShaderResourceView); FileManager.e_MatEffect.Variables["dim"].SetVariable(new Vector2(R.Width, R.Height)); bool all = ColorComponent == eEShaderColorSrcComponent.eEShaderColorSrcComponent_Default; bool rgb = ColorComponent == eEShaderColorSrcComponent.eEShaderColorSrcComponent_RGB; FileManager.e_MatEffect.Variables["r"].SetVariable(ColorComponent == eEShaderColorSrcComponent.eEShaderColorSrcComponent_R || all || rgb); FileManager.e_MatEffect.Variables["g"].SetVariable(ColorComponent == eEShaderColorSrcComponent.eEShaderColorSrcComponent_G || all || rgb); FileManager.e_MatEffect.Variables["b"].SetVariable(ColorComponent == eEShaderColorSrcComponent.eEShaderColorSrcComponent_B || all || rgb); FileManager.e_MatEffect.Variables["a"].SetVariable(ColorComponent == eEShaderColorSrcComponent.eEShaderColorSrcComponent_A || all); FileManager.e_MatEffect.Variables["op"].SetVariable((int)ColorModifier - 1); FileManager.g_pApp.PauseRendering(); FileManager.r_MatTarget.SetTarget(ClearType.All); FullScreenQuad.RenderQuad(FileManager.e_MatEffect.Techniques["blend"].Passes[0]); R.CopyFrom(FileManager.r_MatTarget, 0, 0, R.Width, 0, R.Height, 0, 0); FileManager.g_pApp.ResumeRendering(); return R; }
public override ShaderResourceTexture CreateTexture(API_Device D) { bCFloatColor q0 = (bCFloatColor)base.Container.Properties["Color"].Object; float al = (float)base.Container.Properties["Alpha"].Object; Color4 q = new Color4((Color3)q0); q.Alpha = al; ShaderResourceTexture s = new ShaderResourceTexture(q, D); return s; }
public override ShaderResourceTexture CreateTexture(API_Device D) { return (Source0 as subClassBase).CreateTexture(D); eEColorSrcCombinerType q = (eEColorSrcCombinerType)base.Container.Properties["CombinerType"].Object; ShaderResourceTexture src0 = ColorSrc1.CreateTexture(D); ShaderResourceTexture src1 = ColorSrc2.CreateTexture(D); if (src0 == null || src1 == null) return src0 != null ? src0 : src1; ShaderResourceTexture R = new ShaderResourceTexture(Math.Max(src0.Width, src1.Width), Math.Max(src0.Height, src1.Height), 1, SlimDX.Direct3D11.ResourceUsage.Default, SlimDX.Direct3D11.BindFlags.ShaderResource, SlimDX.Direct3D11.CpuAccessFlags.None, SlimDX.DXGI.Format.B8G8R8A8_UNorm, 1, SlimDX.Direct3D11.ResourceOptionFlags.None, D); FileManager.e_MatEffect.Variables["sourceTex0"].SetVariable(src0.ShaderResourceView); FileManager.e_MatEffect.Variables["sourceTex1"].SetVariable(src1.ShaderResourceView); FileManager.e_MatEffect.Variables["dim"].SetVariable(new Vector2(R.Width, R.Height)); FileManager.g_pApp.PauseRendering(); FileManager.r_MatTarget.SetTarget(ClearType.All); switch (q) { case eEColorSrcCombinerType.eEColorSrcCombinerType_Add : FullScreenQuad.RenderQuad(FileManager.e_MatEffect.Techniques["Combiner_Add"].Passes[0]); break; case eEColorSrcCombinerType.eEColorSrcCombinerType_Subtract: FullScreenQuad.RenderQuad(FileManager.e_MatEffect.Techniques["Combiner_Sub"].Passes[0]); break; case eEColorSrcCombinerType.eEColorSrcCombinerType_Multiply: FullScreenQuad.RenderQuad(FileManager.e_MatEffect.Techniques["Combiner_Mul"].Passes[0]); break; case eEColorSrcCombinerType.eEColorSrcCombinerType_Max: FullScreenQuad.RenderQuad(FileManager.e_MatEffect.Techniques["Combiner_Max"].Passes[0]); break; case eEColorSrcCombinerType.eEColorSrcCombinerType_Min: FullScreenQuad.RenderQuad(FileManager.e_MatEffect.Techniques["Combiner_Min"].Passes[0]); break; } R.CopyFrom(FileManager.r_MatTarget, 0, 0, R.Width, 0, R.Height, 0, 0); FileManager.g_pApp.ResumeRendering(); //src0.ToFile("src0.dds", SlimDX.Direct3D11.ImageFileFormat.Dds); //src1.ToFile("src1.dds", SlimDX.Direct3D11.ImageFileFormat.Dds); //R.ToFile("res.dds", SlimDX.Direct3D11.ImageFileFormat.Dds); return R; }
public override ShaderResourceTexture CreateTexture(API_Device D) { return (ColorSrc1.Operand as subClassBase).CreateTexture(D); ShaderResourceTexture src0 = ColorSrc1.CreateTexture(D); ShaderResourceTexture src1 = ColorSrc1.CreateTexture(D); ShaderResourceTexture src2 = BlendSrc.CreateTexture(D); int w = Math.Max(Math.Max(src0.Width, src1.Width), src2.Width); int h = Math.Max(Math.Max(src0.Height, src1.Height), src2.Height); ShaderResourceTexture R = new ShaderResourceTexture(w, h, 1, SlimDX.Direct3D11.ResourceUsage.Default, SlimDX.Direct3D11.BindFlags.ShaderResource, SlimDX.Direct3D11.CpuAccessFlags.None, SlimDX.DXGI.Format.B8G8R8A8_UNorm, 1, SlimDX.Direct3D11.ResourceOptionFlags.None, D); FileManager.e_MatEffect.Variables["sourceTex0"].SetVariable(src0.ShaderResourceView); FileManager.e_MatEffect.Variables["sourceTex1"].SetVariable(src1.ShaderResourceView); FileManager.e_MatEffect.Variables["sourceTex2"].SetVariable(src2.ShaderResourceView); FileManager.e_MatEffect.Variables["dim"].SetVariable(new Vector2(w, h)); FileManager.g_pApp.PauseRendering(); FileManager.r_MatTarget.SetTarget(ClearType.All); FullScreenQuad.RenderQuad(FileManager.e_MatEffect.Techniques["Lerp"].Passes[0]); R.CopyFrom(FileManager.r_MatTarget, 0, 0, R.Width, 0, R.Height, 0, 0); FileManager.g_pApp.ResumeRendering(); return R; }
private void ImageViewer_DragDrop(object sender, DragEventArgs e) { string O = (e.Data.GetData(System.Windows.Forms.DataFormats.FileDrop) as string[])[0]; GameLibrary.IO.EFile f = FileManager.GetFile(O); this.Texture = new ShaderResourceTexture(xLoader.LoadTextureFromFile(f, this.Device), Device); }
private void button2_Click(object sender, EventArgs e) { openFileDialog1.Filter = "Image Files(*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|All files (*.*)|*.*"; DialogResult dr = openFileDialog1.ShowDialog(); if (dr == System.Windows.Forms.DialogResult.Abort || dr == System.Windows.Forms.DialogResult.Cancel || dr == System.Windows.Forms.DialogResult.No || dr == System.Windows.Forms.DialogResult.None) return; string path = openFileDialog1.FileName; if (!System.IO.File.Exists(path)) return; this.Texture = new ShaderResourceTexture(path, D); }
public ConsolProcessor(Form1 F, UserConsole U) : base(F.Device) { m_pParent = F; SP = new SpriteBatch(F.Device); const int fSize = 13; lCount = (uint)(boxHeight / (fSize + 3)) - 1u; m_Rend = new GameLibrary.AdvTextRenderer(new Font("Arial", fSize), F.Device, Color.White, 4096);//extra strings = current line etc m_parent = U; m_pBoxTex = new ShaderResourceTexture(new Bitmap(1, 1), Device, System.Drawing.Imaging.ImageFormat.Bmp);//RisenEditor.Properties.Resources.console m_pRectTex = new ShaderResourceTexture(new Bitmap(1, 1), Device, System.Drawing.Imaging.ImageFormat.Bmp);//RisenEditor.Properties.Resources.conslRect SystemLog.OnAppend += new EventHandler<SystemLog.OnAppend_EventArgs>(SystemLog_OnAppend); }
public ximg(ShaderResourceTexture T, EFile rawFile) { Prop = new bCAccessorPropertyObject(new eCImageResource2()); header = new ximgHeader(); Prop.Properties.addProperty("Width", "int", T.Width); Prop.Properties.addProperty("Height", "int", T.Height); Prop.Properties.addProperty("SkipMips", "long", 0); Prop.Properties.addProperty("PixelFormat", "bTPropertyContainer<enum eCGfxShared::eEColorFormat>", eCImageResource2_eCGfxShared_eEColorFormat.eEColorFormat_DXT1); var s = rawFile.Open(System.IO.FileAccess.Read); tgaData = s.GetAllBytes(); rawFile.Close(); }
private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e) { EFile _F = FileManager.GetFile(e.Node.Text); if (!_F.IsDirectory && _F.IsOpenable) { if (_F.Name.EndsWith("._xmac") || _F.Name.EndsWith("._xmsh")) { GameLibrary.Objekte.GraphicNode gn = DA.Device.Content.LoadModelFromFile(_F.Name, false); DA.createModelViewer(gn); } else if (_F.Name.EndsWith("._ximg")) { ShaderResourceTexture s = new ShaderResourceTexture(_F.Name, DA.Device); DA.createImageViewer(s); } else if (_F.Name.EndsWith(".lrent")) { } else if (_F.Name.EndsWith(".sec")) { } } }