Rev 833 | Details | Compare with Previous | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 780 | chris | 1 | using System; |
| 2 | using System.Collections.Generic; |
||
| 3 | using System.ComponentModel; |
||
| 4 | using System.Data; |
||
| 5 | using System.Drawing; |
||
| 6 | using System.Linq; |
||
| 7 | using System.Text; |
||
| 8 | using System.Threading.Tasks; |
||
| 9 | using System.Windows.Forms; |
||
| 10 | |||
| 781 | chris | 11 | using Tao.OpenGl; |
| 780 | chris | 12 | |
| 789 | chris | 13 | using BauzoidNET.app; |
| 14 | |||
| 793 | chris | 15 | using System.IO; |
| 16 | |||
| 780 | chris | 17 | namespace BauzoidEdit |
| 18 | { |
||
| 19 | public partial class MainForm : Form |
||
| 20 | { |
||
| 789 | chris | 21 | private BauzoidApp mApp = null; |
| 780 | chris | 22 | |
| 1304 | chris | 23 | private BauzoidNET.graphics.sprite.SimpleSprite mSprite = null; |
| 826 | chris | 24 | private BauzoidNET.graphics.texture.Framebuffer mOffscreen = null; |
| 797 | chris | 25 | |
| 826 | chris | 26 | private BauzoidNET.graphics.model.SimpleGeometry mQuad = null; |
| 27 | private BauzoidNET.graphics.shader.ShaderProgram mShader = null; |
||
| 28 | private BauzoidNET.graphics.shader.ShaderUniform mTextureHandle = null; |
||
| 29 | |||
| 780 | chris | 30 | public MainForm() |
| 31 | { |
||
| 32 | InitializeComponent(); |
||
| 33 | } |
||
| 34 | |||
| 789 | chris | 35 | private void MainForm_Load(object sender, EventArgs e) |
| 36 | { |
||
| 37 | mApp = new BauzoidApp(); |
||
| 825 | chris | 38 | mApp.init(mGlView.Width, mGlView.Height); |
| 797 | chris | 39 | |
| 826 | chris | 40 | mQuad = BauzoidNET.graphics.model.GeometryUtil.createQuad(mApp.getGraphics(), 0.0f, 0, 100.0f, 100.0f); |
| 41 | |||
| 42 | //mShader = ShaderUtil.createShaderFromFile(mApp.getGraphics(), Gdx.files.internal("data/shaders/offscreen.vert"), |
||
| 43 | //Gdx.files.internal("data/shaders/offscreen.frag"));*/ |
||
| 44 | mShader = BauzoidNET.graphics.shader.ShaderUtil.createShaderFromFile(mApp.getGraphics(), "data/shaders/offscreen.vert", "data/shaders/offscreen.frag"); |
||
| 45 | |||
| 46 | if (mShader != null) |
||
| 47 | { |
||
| 48 | mTextureHandle = mShader.getUniform("uDiffuse"); |
||
| 49 | } |
||
| 50 | |||
| 1304 | chris | 51 | mSprite = new BauzoidNET.graphics.sprite.SimpleSprite(mApp.getGraphics(), "data/textures/test.png"); |
| 52 | mSprite.init(); |
||
| 826 | chris | 53 | |
| 1304 | chris | 54 | mSprite.getSpriteTransform().x = 10; |
| 55 | mSprite.getSpriteTransform().y = 10; |
||
| 56 | mSprite.getSpriteTransform().w = 300; |
||
| 57 | mSprite.getSpriteTransform().h = 300; |
||
| 58 | mSprite.getSpriteTransform().pivotX = 0; |
||
| 59 | mSprite.getSpriteTransform().pivotY = 0; |
||
| 60 | |||
| 826 | chris | 61 | mOffscreen = new BauzoidNET.graphics.texture.Framebuffer(mApp.getGraphics(), 128, 128, false); |
| 789 | chris | 62 | } |
| 63 | |||
| 64 | private void MainForm_FormClosing(object sender, FormClosingEventArgs e) |
||
| 65 | { |
||
| 797 | chris | 66 | if (mSprite != null) |
| 67 | { |
||
| 68 | mSprite.dispose(); |
||
| 69 | mSprite = null; |
||
| 70 | } |
||
| 71 | |||
| 826 | chris | 72 | if (mOffscreen != null) |
| 73 | { |
||
| 74 | mOffscreen.dispose(); |
||
| 75 | mOffscreen = null; |
||
| 76 | } |
||
| 77 | |||
| 78 | if (mQuad != null) |
||
| 79 | { |
||
| 80 | mQuad.dispose(); |
||
| 81 | mQuad = null; |
||
| 82 | } |
||
| 83 | |||
| 800 | chris | 84 | if (mApp != null) |
| 85 | mApp.exit(); |
||
| 789 | chris | 86 | } |
| 87 | |||
| 781 | chris | 88 | private void mGlView_Paint(object sender, PaintEventArgs e) |
| 780 | chris | 89 | { |
| 826 | chris | 90 | mOffscreen.activate(); |
| 91 | |||
| 92 | mApp.getGraphics().clear(1, 0.5f, 0.3f, 0); |
||
| 93 | mApp.getRenderStates().projection.setOrtho( |
||
| 94 | 0.0f, |
||
| 95 | 480, |
||
| 830 | chris | 96 | 480, |
| 826 | chris | 97 | 0.0f, |
| 98 | 0.0f, |
||
| 99 | 1.0f |
||
| 100 | ); |
||
| 101 | |||
| 797 | chris | 102 | mSprite.render(); |
| 826 | chris | 103 | mOffscreen.deactivate(); |
| 104 | |||
| 830 | chris | 105 | mApp.getGraphics().clear(0, 0.5f, 0.3f, 0); |
| 106 | |||
| 107 | //Gl.glViewport(0, 0, mGlView.Width, mGlView.Height); |
||
| 108 | mApp.getRenderStates().projection.setOrtho( |
||
| 109 | 0.0f, |
||
| 110 | mApp.getGraphics().getWidth(), |
||
| 111 | mApp.getGraphics().getHeight(), |
||
| 112 | 0.0f, |
||
| 113 | 0.0f, |
||
| 114 | 1.0f |
||
| 115 | ); |
||
| 116 | |||
| 826 | chris | 117 | BauzoidNET.graphics.renderstates.RenderStates rs = mApp.getGraphics().renderStates; |
| 118 | |||
| 827 | chris | 119 | rs.view.identity(); |
| 120 | rs.model.identity(); |
||
| 121 | |||
| 826 | chris | 122 | mShader.activate(); |
| 123 | { |
||
| 124 | mTextureHandle.set(0); |
||
| 125 | rs.getTextureStage(0).bindTexture(mOffscreen.getColorTexture()); |
||
| 126 | |||
| 127 | rs.blending.setEnabled(false); |
||
| 128 | rs.culling.setEnabled(false); |
||
| 129 | rs.depthTest.setEnabled(false); |
||
| 130 | rs.activate(); |
||
| 131 | { |
||
| 132 | mQuad.render(); |
||
| 133 | } |
||
| 134 | rs.deactivate(); |
||
| 135 | rs.popModelMatrix(); |
||
| 136 | rs.popViewMatrix(); |
||
| 137 | } |
||
| 138 | mShader.deactivate(); |
||
| 780 | chris | 139 | } |
| 816 | chris | 140 | |
| 141 | private void colorWidget1_ColorChange(object sender, EventArgs e) |
||
| 142 | { |
||
| 819 | chris | 143 | foreColorPanel.BackColor = mainColorWidget.CurrentColor; |
| 825 | chris | 144 | swatchesBox.CurrentColor = mainColorWidget.CurrentColor; |
| 816 | chris | 145 | } |
| 824 | chris | 146 | |
| 147 | private void colorPalette1_ColorPicked(object sender, EventArgs e) |
||
| 148 | { |
||
| 825 | chris | 149 | mainColorWidget.CurrentColor = swatchesBox.CurrentColor; |
| 150 | foreColorPanel.BackColor = swatchesBox.CurrentColor; |
||
| 824 | chris | 151 | } |
| 825 | chris | 152 | |
| 153 | private void mGlView_Resize(object sender, EventArgs e) |
||
| 154 | { |
||
| 833 | chris | 155 | if (mApp != null) |
| 156 | mApp.getGraphics().updateSurfaceDimensions(mGlView.Width, mGlView.Height); |
||
| 825 | chris | 157 | } |
| 780 | chris | 158 | } |
| 159 | } |