r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[Ann-Reply] Reply to Announce group

Maxim
26-Oct-2010
[2172x2]
one note is that a few of the changes are in fact just added documentation 
in the host, which is scarce at best.


I think it would be nice that as people work on and study the host 
files, more documentation be added, if only to improve its understanding.


many of the view files use short variable names which is ok, but 
the sense of what and most especially *why* things are being done 
is currently very
obscure and I can see it being hard to maintain in the long run.


when you look at all the box region math, sometimes being done more 
than once on the same values, its very hard to positively identify 
what is being calculated and why it even needs to be done at that 
point in the various functions.


when I look at the code, there are many very similar ops being done, 
and it might be that some of that should be reshaped into more re-usable 
code.  maybe if only as multi-line macros, to keep it fast.
christian, if you can send me the full trace of the app it might 
help me track the problem...  either mail it to me or just dump it 
to me privately in altme.


I think its a problem with how VC is optimisizing things to be parralelized 
by SSD type instructions.


on my system its not crashing exactly at the same place but within 
the same source file.  seeing a pattern might help me corner it.
Cyphre
26-Oct-2010
[2174]
Maxim, the demo crashes for me right when it attempts to open a window..I 
tried it also with the torus.r3d dataset so there must be some other 
problem.
Maxim
26-Oct-2010
[2175x2]
I've had that too, but changing the optimizing on Release mode, I 
have just about the same issue as Christian.


in debug mode I've *never* had a crash yet. even on very small or 
huge datasets.


so AFAICT its a dreary compiler issue, and the worst of it is that 
I can't debug it, cause it *only* crashes when I'm not in Debug.
at this point I've cornered it to the host-tools array code which 
is basically just a loop over the host-code.  so its possible that 
the way the core dll was compiled is part of the problem.


I'll try to compile the A107 version in Release mode.. maybe it was 
built using different switches.
Gregg
26-Oct-2010
[2177]
Crashes for me too, under XP x64.
Maxim
26-Oct-2010
[2178]
on window open or after a ->> / <-- trace line?
Gregg
26-Oct-2010
[2179]
On window open.
Henrik
27-Oct-2010
[2180]
Maxim, all demos run fine now.
Maxim
27-Oct-2010
[2181]
thanks.  Andreas told me he was reaching 70fps using the simple tree 
demo running wine on linux!
Henrik
27-Oct-2010
[2182x2]
closer to 2-5 fps here, but probably due to software OpenGL
(strange that it runs now, when I was warned before that OpenGL wouldn't 
work)
Maxim
27-Oct-2010
[2184]
the heavy tree is quite hard... the torus should be real-time even 
using software mode.
Henrik
27-Oct-2010
[2185x2]
also when first showing the window, the view area is only in about 
the upper left quarter of the window. a resize solves this.
I get between 5-10 fps on the torus. I suppose virtualbox doesn't 
do this stuff very well.
Maxim
27-Oct-2010
[2187x2]
wrt resize, yes that is on purpose.  it allows me to test events 
within and without the opengl.
its possible wine allows some of the rendering to find its way to 
the gfx card.
Henrik
27-Oct-2010
[2189x2]
ok
ok, next step: modeling dialect :-)
Maxim
27-Oct-2010
[2191]
and yes it is strange that it works now and didn't work before!  
I didn't change any of OpenGL code, though I had a serious memory 
corruption issue, so its possible that on your system, that translated 
to some bogus system call.
Henrik
27-Oct-2010
[2192x2]
it has been behaving strangely just yesterday (openGL issues) and 
today (network flakey), so I'm not even sure it will keep working. 
:-)
what is the .r3d format like?
Maxim
27-Oct-2010
[2194x3]
hehe.  if you look at the demo files, you will see how to specify 
a polygon primitive... its dead simple... a list of vertex... and 
a list of faces (which are indices to the vertices)
look into the torus... its a rebol loadable data file.
the same as the commented out primitive in the tests.
Henrik
27-Oct-2010
[2197]
It would be wonderful with an actual dialect:


view [my-torus: torus scale .2 rotate 45 material [specular: blah]]
Maxim
27-Oct-2010
[2198x2]
yep that is how it will be... its already close to a dialect.  I 
just need to add more attributes.
btw notice that I included your last release of the r3_gui.r3 in 
the cgr-apps to make sure I stay forward complient... though you 
may want to do a diff on the version included and yours in order 
to patch crashing events when they originate from a gob which isn't 
a face.
Henrik
27-Oct-2010
[2200]
ok, but I suspect many changes and additions are coming. I'm not 
sure if it will be a problem for you.
Maxim
27-Oct-2010
[2201]
I'll also add a few default primitives like sphere, cube, teapot, 
etc.
Pekr
27-Oct-2010
[2202]
how do I find fps for the Torus demo?
Maxim
27-Oct-2010
[2203x2]
for me it won't change anyting as long as you can retrofit the event 
stuff I am "fixing" as I encounter them..
you count the number of refreshes in a second... printed in the console 
 ;-)
Henrik
27-Oct-2010
[2205]
so, it simply renders into a GOB? can you make a demo where it's 
integrated between some styles?
Maxim
27-Oct-2010
[2206x4]
pekr, on windows it shoudn't go beyond 60fps because of timing issues.
henrik yes.  the openGL CGR use the "container" rendering mode which 
allocates a windows control from scratch and adds it to the window.


then when you call show, it gets notified of the change in size and 
automatically updates the control and gl viewport & camera
notice that I do not call show on it in animation.  I call refresh, 
which bypasses view and makes it *much* faster.
henrik, I'll wait for the next release of r3-gui.  I wasn't able 
to launch the style browser.. it gave some error.
Henrik
27-Oct-2010
[2210x2]
cool, I'd like to see a demo with styles, if possible. that will 
be a good indicator of real-world viability of the extension.
Maxim, I'll build a new r3-gui.r for you.
Maxim
27-Oct-2010
[2212x2]
ok, I'll try it out tomorrow.. its 5AM here... got to go get some 
sleep :-)
if you can do one thing to help me.... make a style which doesn't 
allocate any of the gob type data.  (color, text, draw etc) so that 
when you print the gob its basically a none gob.
Henrik
27-Oct-2010
[2214]
ok, cool
Maxim
27-Oct-2010
[2215x3]
I use the none type gob as an indicator that it *might* be a cgr, 
this allows me to quickly check any face without it being to slow 
to retrieve the CGR internal data.
I hope Carl and I will agree on some definite way to allow some kind 
of custom data extension.
I need an extra pointer in the C gob structure.  cause basically, 
all the renderer data is gob-centric... right now I'm allocating 
an array and iterating through it which isn't very optimal, though 
this makes it 100% safe in the current host-kit.
Pekr
27-Oct-2010
[2218]
Two consecutive runs cause following:

>> do %opengl-complex-tree.r3
Script: "Untitled" Version: none Date: none
Script: "Untitled" Version: none Date: none
IMPORTING LIBS
CANNOT SET CGR LIB MORE THAN ONCE (cgr_opengl.dll)
====================================
OpenGL CGR initialization:
registering polygon primitive
register-primitive() [
        valid-prim?() [
        ]
        cgr-name() [
                OpenGL
        ]
]
====================================
Script: "Untitled" Version: none Date: none


then it stops for a while, then it shows window, and outputs other 
stuff to console ....
Oldes
27-Oct-2010
[2219]
Pekr, profesional way is to use tool like: http://www.fraps.com/faq.php
I have 60fps for torus example
Maxim
27-Oct-2010
[2220x2]
which is the max allowed by wait 0.01
yes pekr... as noted in the help message, you can only import the 
cgr lib once... if you do a script which already imports the cgr 
lib it will complain.