[Gambas-user] glu.wireCube or glu.wireSphere

Girard Henri girardhenri at ...402...
Fri Sep 30 22:41:37 CEST 2011


Le 30/09/2011 22:24, Girard Henri a écrit :
Thanks for quick reply !
Works fine :)
regards
Henri
> Le 30/09/2011 19:44, tommyline at ...2340... a écrit :
> Works fine for wirecube but i got an "out of bounds" for the wiresphere at:
>    sint1[size] = sint1[0]
> Wiresphere(1.0,5,5) for example
> Need help
> regards
> Henri
>> Hi Henri,
>>
>> Unfortunately Wire cube, or WireSphere is a part of the GLUT library which is not implemented in Gambas. But based on Freeglut source, I made my own glut geometry module.
>>
>> Public Sub WireCube(dSize As Float)
>> Dim size As Float = dSize * 0.5
>>
>>       gl.Begin(gl.LINE_LOOP)
>>       gl.Normal3f(1.0, 0.0, 0.0)
>>       gl.Vertex3f(size, - size, size)
>>       gl.Vertex3f(size, - size, - size)
>>       gl.Vertex3f(size, size, - size)
>>       gl.Vertex3f(size, size, size)
>>       gl.End()
>>
>>       gl.Begin(gl.LINE_LOOP)
>>       gl.Normal3f(0.0, 1.0, 0.0)
>>       gl.Vertex3f(size, size, size)
>>       gl.Vertex3f(size, size, - size)
>>       gl.Vertex3f(- size, size, - size)
>>       gl.Vertex3f(- size, size, size)
>>       gl.End()
>>
>>       gl.Begin(gl.LINE_LOOP)
>>       gl.Normal3f(0.0, 0.0, 1.0)
>>       gl.Vertex3f(size, size, size)
>>       gl.Vertex3f(- size, size, size)
>>       gl.Vertex3f(- size, - size, size)
>>       gl.Vertex3f(size, - size, size)
>>       gl.End()
>>
>>       gl.Begin(gl.LINE_LOOP)
>>       gl.Normal3f(1.0, 0.0, 0.0)
>>       gl.Vertex3f(- size, - size, size)
>>       gl.Vertex3f(- size, size, size)
>>       gl.Vertex3f(- size, size, - size)
>>       gl.Vertex3f(- size, - size, - size)
>>       gl.End()
>>
>>       gl.Begin(gl.LINE_LOOP)
>>       gl.Normal3f(0.0, - 1.0, 0.0)
>>       gl.Vertex3f(- size, - size, size)
>>       gl.Vertex3f(- size, - size, - size)
>>       gl.Vertex3f(size, - size, - size)
>>       gl.Vertex3f(size, - size, size)
>>       gl.End()
>>
>>       gl.Begin(gl.LINE_LOOP)
>>       gl.Normal3f(0.0, 0.0, 1.0)
>>       gl.Vertex3f(- size, - size, - size)
>>       gl.Vertex3f(- size, size, - size)
>>       gl.Vertex3f(size, size, - size)
>>       gl.Vertex3f(size, - size, - size)
>>       gl.End()
>>
>> End
>>
>> Public Sub WireSphere(radius As Float, slices As Integer, stacks As Integer)
>> Dim i, j As Integer
>> Dim z, x, r, y As Float
>> Dim sint1, sint2 As New Float[360]
>> Dim cost1, cost2 As New Float[360]
>> Dim size As Integer  ' / * Table size, the sign OF n flips the circle direction * /
>> Dim angle As Float ' / * Determine the angle between samples * /
>>
>>      '/* Pre - computed circle * /
>>       size = - slices
>>       angle As Float = 2 * Pi / (size)
>>       sint1[0] = 0.0
>>       cost1[0] = 1.0
>>       For i = 1 To size
>>           sint1[i] = Sin(angle * i)
>>           cost1[i] = Cos(angle * i)
>>       Next
>>       sint1[size] = sint1[0]
>>       cost1[size] = cost1[0]
>>
>>       size = stacks * 2
>>       angle As Float = 2 * Pi / (size)
>>       sint2[0] = 0.0
>>       cost2[0] = 1.0
>>       For i = 1 To size
>>           sint2[i] = Sin(angle * i)
>>           cost2[i] = Cos(angle * i)
>>       Next
>>       sint2[size] = sint2[0]
>>       cost2[size] = cost2[0]
>>
>>       '/ * Draw a LINE LOOP FOR EACH stack * /
>>
>>       For i = 1 To stacks
>>           z = cost2[i]
>>           r = sint2[i]
>>
>>           gl.Begin(gl.LINE_LOOP)
>>               For j = 0 To slices
>>                   x = cost1[j]
>>                   y = sint1[j]
>>                   gl.Normal3f(x, y, z)
>>                   gl.Vertex3f(x * r * radius, y * r * radius, z * radius)
>>               Next
>>
>>           gl.End()
>>       Next
>>
>>       '/ * Draw a LINE LOOP FOR EACH slice * /
>>
>>       For i = 0 To slices
>>            gl.Begin(gl.LINE_STRIP)
>>               For j = 0 To stacks
>>                   x = cost1[i] * sint2[j]
>>                   y = sint1[i] * sint2[j]
>>                   z = cost2[j]
>>
>>                   gl.Normal3f(x, y, z)
>>                   gl.Vertex3f(x * radius, y * radius, z * radius)
>>               Next
>>
>>           gl.End()
>>       Next
>>
>> End
>>
>> Regards,
>> Tomek
>>
>> ----- Original Message -----
>> From: "Girard Henri"<girardhenri at ...402...>
>> To: gambas-user at lists.sourceforge.net
>> Sent: Friday, 30 September, 2011 3:11:29 PM
>> Subject: [Gambas-user] glu.wireCube or glu.wireSphere
>>
>> Hi,
>> Is there a way of doing in gambas opengl glu.wireCube (with example)?
>> I can't find it anywhere ?
>> thanks
>> Henri
>>
>>
>> ------------------------------------------------------------------------------
>> All of the data generated in your IT infrastructure is seriously valuable.
>> Why? It contains a definitive record of application performance, security
>> threats, fraudulent activity, and more. Splunk takes this data and makes
>> sense of it. IT sense. And common sense.
>> http://p.sf.net/sfu/splunk-d2dcopy2
>> _______________________________________________
>> Gambas-user mailing list
>> Gambas-user at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/gambas-user
>>
>> ------------------------------------------------------------------------------
>> All of the data generated in your IT infrastructure is seriously valuable.
>> Why? It contains a definitive record of application performance, security
>> threats, fraudulent activity, and more. Splunk takes this data and makes
>> sense of it. IT sense. And common sense.
>> http://p.sf.net/sfu/splunk-d2dcopy2
>> _______________________________________________
>> Gambas-user mailing list
>> Gambas-user at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/gambas-user
>>
>>
>
> ------------------------------------------------------------------------------
> All of the data generated in your IT infrastructure is seriously valuable.
> Why? It contains a definitive record of application performance, security
> threats, fraudulent activity, and more. Splunk takes this data and makes
> sense of it. IT sense. And common sense.
> http://p.sf.net/sfu/splunk-d2dcopy2
> _______________________________________________
> Gambas-user mailing list
> Gambas-user at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gambas-user
>
>





More information about the User mailing list