Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Imports OpenTK
- Imports OpenTK.Graphics
- Imports OpenTK.Graphics.OpenGL
- Private Sub GlControl1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles GlControl1.Load
- GL.ClearColor(Color.SkyBlue)
- End Sub
- Function texture(ByVal pic As Bitmap)
- Dim tex As Integer
- GL.Hint(HintTarget.PerspectiveCorrectionHint, HintMode.Nicest)
- GL.GenTextures(1, tex)
- GL.BindTexture(TextureTarget.Texture2D, tex)
- Dim data As Imaging.BitmapData = pic.LockBits(New System.Drawing.Rectangle(0, 0, pic.Width, pic.Height),
- Imaging.ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb)
- GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgba, data.Width, data.Height, 0,
- OpenTK.Graphics.OpenGL.PixelFormat.Bgra, PixelType.UnsignedByte, data.Scan0)
- pic.UnlockBits(data)
- GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, TextureMinFilter.Linear)
- GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, TextureMagFilter.Linear)
- GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapS, TextureWrapMode.Repeat)
- GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapT, TextureWrapMode.Repeat)
- Return tex
- End Function
- Private Sub GlControl1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles GlControl1.Paint
- GL.Clear(ClearBufferMask.ColorBufferBit)
- GL.Clear(ClearBufferMask.DepthBufferBit)
- GL.MatrixMode(MatrixMode.Projection)
- GL.PushMatrix()
- GL.LoadIdentity()
- GL.Ortho(0, 640, 480, 0, -1, 1)
- GL.MatrixMode(MatrixMode.Modelview)
- GL.PushMatrix()
- GL.LoadIdentity()
- GL.Disable(EnableCap.Lighting)
- GL.Enable(EnableCap.Texture2D)
- Dim tempint As Integer = texture(mjpgpics(PBBox1))
- GL.BindTexture(TextureTarget.Texture2D, tempint)
- GL.Begin(BeginMode.Quads)
- GL.TexCoord2(0, 0)
- GL.Vertex3(0, 0, 0)
- GL.TexCoord2(1, 0)
- GL.Vertex3(320, 0, 0)
- GL.TexCoord2(1, 1)
- GL.Vertex3(320, 240, 0)
- GL.TexCoord2(0, 1)
- GL.Vertex3(0, 240, 0)
- GL.End()
- GL.DeleteTexture(tempint)
- tempint = texture(mjpgpics(PBBox2))
- GL.BindTexture(TextureTarget.Texture2D, tempint)
- GL.Begin(BeginMode.Quads)
- GL.TexCoord2(0, 0)
- GL.Vertex3(320, 0, 0)
- GL.TexCoord2(1, 0)
- GL.Vertex3(640, 0, 0)
- GL.TexCoord2(1, 1)
- GL.Vertex3(640, 240, 0)
- GL.TexCoord2(0, 1)
- GL.Vertex3(320, 240, 0)
- GL.End()
- GL.DeleteTexture(tempint)
- tempint = texture(mjpgpics(PBBox3))
- GL.BindTexture(TextureTarget.Texture2D, tempint)
- GL.Begin(BeginMode.Quads)
- GL.TexCoord2(0, 0)
- GL.Vertex3(0, 240, 0)
- GL.TexCoord2(1, 0)
- GL.Vertex3(320, 240, 0)
- GL.TexCoord2(1, 1)
- GL.Vertex3(320, 480, 0)
- GL.TexCoord2(0, 1)
- GL.Vertex3(0, 480, 0)
- GL.End()
- GL.DeleteTexture(tempint)
- tempint = texture(mjpgpics(PBBox4))
- GL.BindTexture(TextureTarget.Texture2D, tempint)
- GL.Begin(BeginMode.Quads)
- GL.TexCoord2(0, 0)
- GL.Vertex3(320, 240, 0)
- GL.TexCoord2(1, 0)
- GL.Vertex3(640, 240, 0)
- GL.TexCoord2(1, 1)
- GL.Vertex3(640, 480, 0)
- GL.TexCoord2(0, 1)
- GL.Vertex3(320, 480, 0)
- GL.End()
- GL.DeleteTexture(tempint)
- GL.Disable(EnableCap.Texture2D)
- GL.PopMatrix()
- GL.MatrixMode(MatrixMode.Projection)
- GL.PopMatrix()
- GL.MatrixMode(MatrixMode.Modelview)
- GraphicsContext.CurrentContext.VSync = True
- GlControl1.SwapBuffers()
- End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement