I have the following code in OpenTK:
unsafe
{
Vector3* data = (Vector3*)Marshal.AllocHGlobal(
Marshal.SizeOf(typeof(Vector3)) * simpleVertices.Count);
Vector2* uv = (Vector2*)Marshal.AllocHGlobal(
Marshal.SizeOf(typeof(Vector2)) * simpleVertices.Count);
for(int i = 0; i < simpleVertices.Count; i++)
{
((Vector3*)data)[i] = simpleVertices[i];
Vector2 thisuv = uvData[i];
((Vector2*)uv)[i] = uvData[i];
}
GL.BindTexture(All.Texture2D, texture.GLTexture.OpenGLName);
GL.TexParameter(All.Texture2D, All.TextureWrapS, (int)TextureWrapMode.Repeat);
GL.TexParameter(All.Texture2D, All.TextureWrapT, (int)TextureWrapMode.Repeat);
byte []squareColors = new byte[simpleVertices.Count];
Random.NextBytes(squareColors);
GL.ColorPointer (vertices.Count, All.UnsignedByte, 0, squareColors);
GL.VertexPointer(3, All.Float, sizeof(Vector3), new IntPtr(data));
GL.DrawArrays(All.Triangles, 0, simpleVertices.Count);
Marshal.FreeHGlobal((IntPtr)data);
Marshal.FreeHGlobal((IntPtr)uv);
}
I know the data being given for vertices anduv are correct (at least they work fine in my XNA renderer) and what I’m seeing is white polygons being drawn correctly on screen.
From my code above I should be seeing an assortment of colours since I’m populating squareColours with a random number of bytes (I’ve verified that squareColors is being filled up with random bytes) but I’m not, the vertices are all being drawn as white.
I’ve also tried binding a texture (via GL.BindTexture) and that has also failed.
Any ideas why this isn’t working?
edit: when I added to enable color (see first comment on this post) the app crashed out with the following output:
Stacktrace:
at (wrapper managed-to-native)
OpenTK.Graphics.ES11.GL/Core.DrawArrays
(OpenTK.Graphics.ES11.All,int,int) at
OpenTK.Graphics.ES11.GL.DrawArrays
(OpenTK.Graphics.ES11.All,int,int)
[0x00000] in
/Users/plasma/Source/iphone/monotouch/OpenGLES/OpenTK/Graphics/ES11.iPhone/GL.cs:1326
at Jabber.J3D.Shape.Draw_IOS ()
[0x00171] in
/Users/ahmedhakeem/Documents/Projects/JabberEngine2/MyCode/Engine/J3D/Shape_iOS.cs:136
at Jabber.J3D.Shape.Draw () [0x00000]
in
/Users/ahmedhakeem/Documents/Projects/JabberEngine2/MyCode/Engine/J3D/Shape.cs:255
at Jabber.J3D.PhysicShape.Draw ()
[0x00000] in
/Users/ahmedhakeem/Documents/Projects/JabberEngine2/MyCode/Engine/J3D/PhysicShape.cs:46
at Jabber.Scene.GameScene.Draw ()
[0x0001d] in
/Users/ahmedhakeem/Documents/Projects/JabberEngine2/MyCode/Engine/Scene/GameScene.cs:299
at
Jabber.GameScreenManager.Screen.Draw
() [0x0001f] in
/Users/ahmedhakeem/Documents/Projects/JabberEngine2/MyCode/Engine/GameScreenManager/Screen.cs:150
at
ChicksnVixens.Screens.GameplayScreen.Draw
() [0x00000] in
/Users/ahmedhakeem/Documents/Projects/JabberEngine2/MyCode/ChicksnVixens/Screens/GameplayScreen.cs:481
at
Jabber.GameScreenManager.ScreenManager.Draw
() [0x00054] in
/Users/ahmedhakeem/Documents/Projects/JabberEngine2/MyCode/Engine/GameScreenManager/ScreenManager.cs:92
at Jabber.BaseGame.Draw
(Microsoft.Xna.Framework.GameTime)
[0x0002c] in
/Users/ahmedhakeem/Documents/Projects/JabberEngine2/MyCode/Engine/BaseGame.cs:95
at
ChicksnVixens.ChicksnVixensGame.Draw
(Microsoft.Xna.Framework.GameTime)
[0x00000] in
/Users/ahmedhakeem/Documents/Projects/JabberEngine2/MyCode/ChicksnVixens/ChicksnVixensGame.cs:414
at Microsoft.Xna.Framework.Game.DoDraw
(Microsoft.Xna.Framework.GameTime)
[0x0001e] in
/Users/ahmedhakeem/Documents/Projects/JabberEngine2/ExEn/ExEnCommon/Game/GameCommon.cs:205
at
Microsoft.Xna.Framework.ExEnEmTouchGameView.OnRenderFrame
(OpenTK.FrameEventArgs) [0x0002e] in
/Users/ahmedhakeem/Documents/Projects/JabberEngine2/ExEn/ExEnEmTouch/ExEnEmTouchGameView.cs:329
at
OpenTK.Platform.iPhoneOS.iPhoneOSGameView.RunIteration
() [0x000af] in
/Users/plasma/Source/iphone/monotouch/OpenGLES/OpenTK/Platform/iPhoneOS/iPhoneOSGameView.cs:592
at
MonoTouch.Foundation.NSActionDispatcher.Apply
() [0x00000] in
/Users/plasma/Source/iphone/monotouch/shared/Foundation/NSAction.cs:45
at (wrapper runtime-invoke)
object.runtime_invoke_void_this_
(object,intptr,intptr,intptr) at (wrapper
managed-to-native)
MonoTouch.UIKit.UIApplication.UIApplicationMain
(int,string[],intptr,intptr) at
MonoTouch.UIKit.UIApplication.Main
(string[],string,string) [0x00038] in
/Users/plasma/Source/iphone/monotouch/UIKit/UIApplication.cs:26
at ChicksnVixens.Program.Main
(string[]) [0x00000] in
/Users/ahmedhakeem/Documents/Projects/JabberEngine2/MyCode/ChicksnVixens/MonoTouch
Program.cs:24 at (wrapper
runtime-invoke)
.runtime_invoke_void_object
(object,intptr,intptr,intptr)Native stacktrace:
0 aChicks
0x000c5d00 mono_handle_native_sigsegv
+ 343 1 aChicks 0x0000fce0 mono_sigsegv_signal_handler
+ 322 2 libSystem.B.dylib 0x95fee48b _sigtramp + 43 3 ???
0xffffffff 0x0 + 4294967295 4
GLEngine
0x08645753 gleLLVMArrayFunc + 67 5
GLEngine
0x0863cba2
gleDrawArraysOrElements_ExecCore + 856
6 GLEngine
0x08642bbe glDrawArrays_IMM_Exec + 332
7 OpenGLES
0x0087c308 glDrawArrays + 57 8 ???
0x0c3c9b34 0x0 + 205298484 9 ???
0x0c3c9a9c 0x0 + 205298332 10 ???
0x0f0956c8 0x0 + 252270280 11 ???
0x0f0939c4 0x0 + 252262852 12 ???
0x0f09397c 0x0 + 252262780 13 ???
0x0ecdb286 0x0 + 248361606 14 ???
0x0c3c709a 0x0 + 205287578 15 ???
0x0f0927c4 0x0 + 252258244 16 ???
0x0c3c44cd 0x0 + 205276365 17 ???
0x0c3c3fed 0x0 + 205275117 18 ???
0x0c3c3e9a 0x0 + 205274778 19 ???
0x0c3c3d73 0x0 + 205274483 20 ???
0x0cc03166 0x0 + 213922150 21 ???
0x0cbfd578 0x0 + 213898616 22 ???
0x0cbfd130 0x0 + 213897520 23 ???
0x05e861e8 0x0 + 99115496 24 aChicks
0x0000fa9b mono_jit_runtime_invoke +
1332 25 aChicks
0x001d9f01 mono_runtime_invoke + 137
26 aChicks
0x0027e52b monotouch_trampoline + 2527
27 Foundation
0x00619749 NSFireTimer + 125 28
CoreFoundation
0x014398c3
__CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION
+ 19 29 CoreFoundation 0x0143ae74 __CFRunLoopDoTimer + 1220
30 CoreFoundation
0x013972c9 __CFRunLoopRun + 1817 31
CoreFoundation
0x01396840 CFRunLoopRunSpecific + 208
32 CoreFoundation
0x01396761 CFRunLoopRunInMode + 97 33
GraphicsServices
0x028bc1c4 GSEventRunModal + 217 34
GraphicsServices
0x028bc289 GSEventRun + 115 35 UIKit
0x008abc93 UIApplicationMain + 1160
36 ???
0x05e84b8b 0x0 + 99109771 37 ???
0x05e83fb4 0x0 + 99106740 38 ???
0x05e83cee 0x0 + 99106030 39 ???
0x05e83e46 0x0 + 99106374 40 aChicks
0x0000fa9b mono_jit_runtime_invoke +
1332 41 aChicks
0x001d9f01 mono_runtime_invoke + 137
42 aChicks
0x001dc560 mono_runtime_exec_main +
669 43 aChicks
0x001db96e mono_runtime_run_main + 843
44 aChicks
0x0009cdd2 mono_jit_exec + 200 45
aChicks
0x00003362 main + 3838 46 aChicks
0x00002249 _start + 208 47 aChicks
0x00002178 start + 40Debug info from gdb:
/tmp/mono-gdb-commands.ZEI8zH:1: Error
in sourced command file: unable to
debug self
You have the wrong arguments to ColorPointer. The first argument is the number of components per color. Use 3 for RGB-colors.
Try this: