Skip to content

Commit 18cfd5a

Browse files
committed
Fixed texture issue in other tutorials (except 8-2)
1 parent 49d3b84 commit 18cfd5a

3 files changed

Lines changed: 12 additions & 10 deletions

File tree

  • OpenTKTutorial6/OpenTKTutorial6
  • OpenTKTutorial7/OpenTKTutorial7
  • OpenTKTutorial8-1/OpenTKTutorial8

OpenTKTutorial6/OpenTKTutorial6/Game.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,12 +89,14 @@ protected override void OnRenderFrame(FrameEventArgs e)
8989
// Draw all our objects
9090
foreach (Volume v in objects)
9191
{
92+
GL.ActiveTexture(TextureUnit.Texture0);
9293
GL.BindTexture(TextureTarget.Texture2D, v.TextureID);
94+
9395
GL.UniformMatrix4(shaders[activeShader].GetUniform("modelview"), false, ref v.ModelViewProjectionMatrix);
9496

95-
if (shaders[activeShader].GetAttribute("maintexture") != -1)
97+
if (shaders[activeShader].GetUniform("maintexture") != -1)
9698
{
97-
GL.Uniform1(shaders[activeShader].GetAttribute("maintexture"), v.TextureID);
99+
GL.Uniform1(shaders[activeShader].GetUniform("maintexture"), 0);
98100
}
99101

100102
GL.DrawElements(BeginMode.Triangles, v.IndiceCount, DrawElementsType.UnsignedInt, indiceat * sizeof(uint));

OpenTKTutorial7/OpenTKTutorial7/Game.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ void initProgram()
6161
objects.Add(tc2);
6262

6363
// OBJ models from files
64-
ObjVolume obj1 = ObjVolume.LoadFromFile("cow.obj");
64+
ObjVolume obj1 = ObjVolume.LoadFromFile("teapot.obj");
6565
obj1.TextureID = textures["opentksquare.png"];
6666
objects.Add(obj1);
6767

@@ -99,12 +99,13 @@ protected override void OnRenderFrame(FrameEventArgs e)
9999
// Draw all our objects
100100
foreach (Volume v in objects)
101101
{
102+
GL.ActiveTexture(TextureUnit.Texture0);
102103
GL.BindTexture(TextureTarget.Texture2D, v.TextureID);
103104
GL.UniformMatrix4(shaders[activeShader].GetUniform("modelview"), false, ref v.ModelViewProjectionMatrix);
104105

105-
if (shaders[activeShader].GetAttribute("maintexture") != -1)
106+
if (shaders[activeShader].GetUniform("maintexture") != -1)
106107
{
107-
GL.Uniform1(shaders[activeShader].GetAttribute("maintexture"), v.TextureID);
108+
GL.Uniform1(shaders[activeShader].GetUniform("maintexture"), 0);
108109
}
109110

110111
GL.DrawElements(BeginMode.Triangles, v.IndiceCount, DrawElementsType.UnsignedInt, indiceat * sizeof(uint));

OpenTKTutorial8-1/OpenTKTutorial8/Game.cs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
using OpenTK;
88
using OpenTK.Graphics;
99
using OpenTK.Graphics.OpenGL;
10-
using OpenTK.Input;
1110

1211
namespace OpenTKTutorial8
1312
{
@@ -37,7 +36,6 @@ public Game()
3736

3837
Dictionary<string, ShaderProgram> shaders = new Dictionary<string, ShaderProgram>();
3938
string activeShader = "default";
40-
4139

4240
float time = 0.0f;
4341

@@ -97,12 +95,13 @@ protected override void OnRenderFrame(FrameEventArgs e)
9795
// Draw all our objects
9896
foreach (Volume v in objects)
9997
{
98+
GL.ActiveTexture(TextureUnit.Texture0);
10099
GL.BindTexture(TextureTarget.Texture2D, v.TextureID);
101100
GL.UniformMatrix4(shaders[activeShader].GetUniform("modelview"), false, ref v.ModelViewProjectionMatrix);
102101

103-
if (shaders[activeShader].GetAttribute("maintexture") != -1)
102+
if (shaders[activeShader].GetUniform("maintexture") != -1)
104103
{
105-
GL.Uniform1(shaders[activeShader].GetAttribute("maintexture"), v.TextureID);
104+
GL.Uniform1(shaders[activeShader].GetUniform("maintexture"), 0);
106105
}
107106

108107
GL.DrawElements(BeginMode.Triangles, v.IndiceCount, DrawElementsType.UnsignedInt, indiceat * sizeof(uint));
@@ -269,7 +268,7 @@ int loadImage(Bitmap image)
269268
int texID = GL.GenTexture();
270269

271270
GL.BindTexture(TextureTarget.Texture2D, texID);
272-
BitmapData data = image.LockBits(new System.Drawing.Rectangle(0, 0, image.Width, image.Height),
271+
BitmapData data = image.LockBits(new Rectangle(0, 0, image.Width, image.Height),
273272
ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
274273

275274
GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgba, data.Width, data.Height, 0,

0 commit comments

Comments
 (0)