Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Gaius

#1
Thanks for the help.  I've been tinkering with Guiserver.  It's certainly very easy to build a "conventional" user interface with it; very clean, I really like the declarative style.



I've not managed to get any graphics working yet, so the examples will be most useful.  However, two quick questions:



1.  Is there anywhere in the documentation an explanation of the canvas co-ordinate system?  I'm assuming the origin is top left of the canvas itself (not the root container of the application), the units are pixels and the Y-axis is down the screen.  Only my lines aren't drawing, which is odd.  Or does the canvas delay rendering until it's told?



2. Can I use the same "tag" symbol for multiple canvas drawing primitives in order to group them into a single transformable object?



I may well be trying to run before I can walk here, so if the answers RTFM I'll meekly accept a pointer to the right web page!



Thanks again
#2
Hi everyone,



I'm returning to programming after a break of many years in order to scratch an itch (as they say) in my current non-technical position.



Basically, I want to build an application that will allow me interactively to create and edit large directed acyclical graphs.  The nodes of the DAG represent objects (of a variety of different classes) and the arcs the relationships between them.



Last time I did any professional programming it was in C, with the graphics implemented using GKS (well that dates it, doesn't it!).  I was looking for a programming environment that is clean, elegant and productive and came across newLISP.  In  particular I've was impressed by the quality of its documentation (many thanks to Cormullion et al.) in comparison to so many other languages and projects.



What I'm concerned about - and the real thrust of this ramble - is whether Guiserver is appropriate for building interactive graphics?  Reading the documentation gs:canvas seems very low level.  Is there a graphics programming toolkit that sits on top of it?  Three things spring to mind:



(1) GKS (and I believe also OpenGL, although I've never used it) provided a means of establishing "world co-ordinate" systems, transforming them to "normalised device co-ordinates" and setting up "viewports" that were windows into NDC space.  Graphic primitives could also be clipped to these viewports.



(2) GKS provided "segments" comprising lists of primitives that could be transformed collectively as a single object.



(3) GKS could feed graphical events directly into the application event queue - for example a mouse click inside the canvas would be pre-processed to determine if location corresponded to a graphics segment and, if so, a "pick event" returned rather than just the device co-ordinates of the mouse.



I know that newLISP has a binding to GLUT, which would I think do the job, but can GLUT be bound to gs:canvas?



I'd be most grateful for comments and suggestions, including entirely different strategies.  I did think of trying an AJAX interface using SVG, but learning both newLISP and Javascript seemed a bit over the top and pouring out screeds of XML everytime something needed redrawing seemed horribly inefficient.  Again, this may just be ignorance.



Thanks in advance for your help.