Raul,

Yes, you are a big help.

However, you say that the only geometry to update in shader is R, but I
don't think so. LR (left and right) is also explicitly updated, and IO (in
and out) and UD (up and down) could potentially be updated. R is likely
updating the heading of the turtle, but earlier I was musing about whether
it was updating the heading of the (viewing) eye. With only one turtle and
one eye, it does not matter much which is correct, but with multiple
objects (turtles (and eyes?)) things get more complicated.

Consider the initial state of the system eye here (where EYE=: 0 0 1 and
LR=: UD=: IO=: 0)
AND before R has been applied:

   glu_LookAt EYE,LR,UD,IO,UP
1 0  0 0
0 1  0 0
0 0  1 0
0 0 _1 1
   (gl_Translate 0 0 _8) mp glu_LookAt EYE,LR,UD,IO,UP
1 0  0 0
0 1  0 0
0 0  1 0
0 0 _9 1

glu_LookAt=: 3 : 0
'eye center up'=. _3]\,>y
F=. center - eye
f=. (% +/&.:*:)F
UPP=. (% +/&.:*:)up
s=. f ((1&|.@:[ * _1&|.@:]) - _1&|.@:[ * 1&|.@:]) UPP
u=. s ((1&|.@:[ * _1&|.@:]) - _1&|.@:[ * 1&|.@:]) f
M=. _4]\ s, 0, u, 0, (-f), 0 0 0 0 1
(|:M) gl_mp~ gl_Translate -eye
)

See, the Eye is 9 units above the cube, I think. (I'm not sure about 9, but
I guess 9 because
we see "F=. center - eye" in glu_LookAt.)

Next the view (or the object) is scaled and rotated in the calculation of
mvp.

So I am thinking for 1 eye and n-1 turtles there needs to be n mvp's, n Rs,
and n LRs, n UDs, and n IOs. (And I don't think n-1 turtles makes any real
world sense, either.)

Do you agree about needing so many mvp's and LRs and so on?



On Fri, Feb 14, 2020 at 5:06 PM Raul Miller <rauldmil...@gmail.com> wrote:

> On Fri, Feb 14, 2020 at 4:15 PM Brian Schott <schott.br...@gmail.com>
> wrote:
> > I am mostly interested in how commands in the Terminal window can be sent
> > to the Cube in the "a" window. Any pointers?
>
> There's two parts to the answer to your question, in the context of
> shader.ijs
>
> (1) Update the geometry being rendered,
> (2) call gl_paint''
>
> In shader.ijs, the only geometry being updated is the value of R --
> the rendering of that geometry is all the details that you see in the
> implementation of a_g_paint (mostly the bits involving mvp).
>
> For what you're describing, you might want (for example) a lot of cubes.
>
> I hope this helps,
>
> --
(B=)
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to