Bill,

Following your great recommendation I created the verb `right` below.

right=: 3 : 0
wh=. gl_qwh''
vd=. (gl_Rotate y, 0 0 1) mp~ 0,.~_3]\_1 fc vertexData
p=. symdat <'vertexData'
d=. 1&fc ,vd
d memw p,0,(#d),2
gl_sel HD
gl_paint''
)

After running the script I can see that `vertexData` has been changed as I
wish after `right 90`, as shown below from the difference between
vertexData before and after issuing the `right 90`. But the graphics window
has not changed at all. What's the problem? The standard `a_g_paint` verb
may need to be altered to trigger a new paint, but I can't think how.

   6 {. _1 fc vertexData
0.3 _0.3 _0.133333 0 _0.1 0.0666667
   right 90
0
   6 {. _1 fc vertexData
_0.3 _0.3 _0.133333 0 _0.1 _6.12323e_18

I added an `smoutput vbo` in a_g_paint and my session looked like the
following where 3 4 is vbo here.
3 4
3 4
   right 90
0
3 4

I similarly added `smoutput` almost everywhere in a_g_paint producing
identical before and after results.


On Tue, Mar 3, 2020 at 10:44 PM bill lam <bbill....@gmail.com> wrote:

> symdat <'vertexData' is a pointer to the data (not header).
> If you want to update without re-assigning the name, you
> could do something like
>
> p=. symdat <'vertexData'
> d=. 1&fc (new vertex data)
> d memw p,0,(#d),2
>
> but beware of any side effects
>
> --
(B=)
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to