Thanks Igor , yes I was aware of String Cr because I have done some googling around and it did find information on the subject. Apparently it failed because I had an error in my source.
So for our next challenge is learning how to fetch data that a pointer points to. in this case I have an array that contains my vertex positions , called vertexPositions vertexPositions "the positions of vertices to be passed to opengl" ^ #( 0.75 0.75 0.0 1.0 0.75 -0.75 0.0 1.0 -0.75 -0.75 0.0 1.0 ) so far so good so I create a pointer for that array vptrsize := (NBExternalType sizeOf: 'float')* self vertexPositions size. and then take that pointer and insert in each position the individual values from vertexPositions vertexPositions withIndexDo: [:each :i | "using nbUInt32AtOffset because we know pointer is 4 bytes :) " vpos nbFloat32AtOffset: (i-1)*(NBExternalType sizeOf: 'float') put: each value. Transcript show: ' I am putting to vpos in index: '; show: i-1; show:' value: '; show: each value; cr. ]. so far so good. now the tricky part is that I have a function that expects that Array , not the smalltalk version but the C version we just created gl bufferData_target: GL_ARRAY_BUFFER size: vptrsize data: ....... usage: GL_STATIC_DRAW. where you see the dots is where I should pass the data, in this case the C array I could do a vpo nbFloat32AtOffset: but that will return me only the individual value at the specific point (index) of the array, while I want to pass the entire array. So how I do that ? I explored NBExternalAdress and I cant find something that would return an array. Am I missing something obvious here ? NBExternalAdress value , returns the number of the address and not that data contained in that address. I also see a NBExternalArray but I am not sure if it is what I should be using . Igor Stasenko wrote > On 30 June 2013 21:11, kilon < > thekilon@.co > > wrote: >> I am not going to post my code here cause it has become too big , you can >> find it here >> >> http://www.smalltalkhub.com/#!/~kilon/GLTutorial >> <http://www.smalltalkhub.com/#!/~kilon/GLTutorial> >> >> I tried adding newlines with String cr to my shaders strings, but >> apparently >> opengl is not convinced. It looks like smalltalk cr is not converted to C >> "\n" newlines. So how I do that ? >> > > simply replace all occurences of > Character cr > with > Character lf > (or crlf, if it wants that) > >> -- >> View this message in context: >> http://forum.world.st/Understanding-NBOpenGL-tp4686514p4696465.html >> Sent from the Pharo Smalltalk Developers mailing list archive at >> Nabble.com. >> > > > > -- > Best regards, > Igor Stasenko. -- View this message in context: http://forum.world.st/Understanding-NBOpenGL-tp4686514p4696666.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.