public MDX1_Surface() { mDisplay = Display.Impl as MDX1_Display; mDevice = mDisplay.D3D_Device; InitVerts(); }
public MDX1_Surface(Size size) { mSrcRect = new Rectangle(new Point(0, 0), size); mDisplay = Display.Impl as MDX1_Display; mDevice = mDisplay.D3D_Device; /* * Bitmap bitmap = new Bitmap(size.Width, size.Height); * Graphics g = Graphics.FromImage(bitmap); * g.Clear(Color.FromArgb(0, 0, 0, 0)); * g.Dispose(); */ //mTexture = Texture.FromBitmap(mDevice, bitmap, Usage.None, Pool.Managed); mTexture = new Ref <Texture>(new Texture(mDevice.Device, size.Width, size.Height, 1, Usage.None, Format.A8R8G8B8, Pool.Managed)); mRenderToSurface = new RenderToSurface(mDevice.Device, size.Width, size.Height, Format.A8R8G8B8, true, DepthFormat.D16); mRenderToSurface.BeginScene(mTexture.Value.GetSurfaceLevel(0)); mDevice.Clear(ClearFlags.Target, Color.FromArgb(0, 0, 0, 0).ToArgb(), 1.0f, 0); mRenderToSurface.EndScene(Filter.None); mRenderToSurface.Dispose(); mRenderToSurface = null; mTextureSize = mSrcRect.Size; InitVerts(); }
internal void Initialize(MDX1_DisplayWindow window) { if (mInitialized) { return; } if (window.RenderTarget.TopLevelControl == null) { throw new ArgumentException("The specified render target does not have a Form object yet. " + "It's TopLevelControl property is null. You may not create DisplayWindow objects before " + "the control to render to is added to the Form."); } mInitialized = true; // ok, create D3D device PresentParameters present = CreateWindowedPresentParameters(window, 0, 0); present.BackBufferWidth = 1; present.BackBufferHeight = 1; DeviceType dtype = DeviceType.Hardware; int adapterOrdinal = Direct3D.Manager.Adapters.Default.Adapter; Direct3D.Caps caps = Direct3D.Manager.GetDeviceCaps(adapterOrdinal, Direct3D.DeviceType.Hardware); Direct3D.CreateFlags flags = Direct3D.CreateFlags.SoftwareVertexProcessing; // Is there support for hardware vertex processing? If so, replace // software vertex processing. if (caps.DeviceCaps.SupportsHardwareTransformAndLight) { flags = Direct3D.CreateFlags.HardwareVertexProcessing; } // Does the device support a pure device? if (caps.DeviceCaps.SupportsPureDevice) { flags |= Direct3D.CreateFlags.PureDevice; } Device device = new Device (0, dtype, window.RenderTarget.TopLevelControl.Handle, flags, present); device.DeviceLost += new EventHandler(mDevice_DeviceLost); device.DeviceReset += new EventHandler(mDevice_DeviceReset); mDevice = new D3DDevice(device); // create primitive objects mLine = new Direct3D.Line(device); //CreateSurfaceVB(); }
public MDX1_Surface(Ref <Texture> texture, Rectangle sourceRect) { mSrcRect = sourceRect; mDisplay = Display.Impl as MDX1_Display; mDevice = mDisplay.D3D_Device; mTexture = new Ref <Texture>(texture); mTextureSize = new Size(mTexture.Value.GetSurfaceLevel(0).Description.Width, mTexture.Value.GetSurfaceLevel(0).Description.Height); InitVerts(); }
public MDX1_Surface(Stream stream) { mDisplay = Display.Impl as MDX1_Display; mDevice = mDisplay.D3D_Device; if (mDevice == null) { throw new Exception("Error: It appears that AgateLib has not been initialized yet. Have you created a DisplayWindow?"); } LoadFromStream(stream); InitVerts(); }
public MDX1_Surface(string fileName) { mFileName = fileName; mDisplay = Display.Impl as MDX1_Display; mDevice = mDisplay.D3D_Device; if (mDevice == null) { throw new Exception("Error: It appears that AgateLib has not been initialized yet. Have you created a DisplayWindow?"); } LoadFromFile(); mDevice.Device.DeviceReset += new EventHandler(mDevice_DeviceReset); InitVerts(); }
public DrawBuffer(D3DDevice device) { mDevice = device; AllocateVerts(); }