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

World: r3wp

[!REBOL3 GUI]

AdrianS
10-Sep-2010
[3255x2]
** Script error: path styl/faced is not valid for none! type
** Where: make make-face make-panel make-window-panel case view
** Near: make guie/face [
    options: opts
    facets: make styl/fac...
no one answered my call for more versions in curecode
Andreas
10-Sep-2010
[3257]
no A107 yet?
Graham
10-Sep-2010
[3258]
No one is home today
Andreas
10-Sep-2010
[3259]
Hm, seems someone (I guess Brian) added A107 to curecode already.
Graham
10-Sep-2010
[3260]
Is BrianH the only person who has access?
BrianH
11-Sep-2010
[3261]
I am one of the admins on R3's CureCode instance, but not the only 
one.
Graham
11-Sep-2010
[3262]
who else ?
AdrianS
11-Sep-2010
[3263x3]
I guess I'll add the issues above to CureCode - not sure that anyone 
will look at GUI issues though since it's known to be in flux - and 
Henrik's probably already modified the source enough that this couldn't 
be replicated
added as issue #1648
http://curecode.org/rebol3/ticket.rsp?id=1648
Graham, can you add the last issue you noted above? My browser is 
running like molasses for some reason and I have to get going.
Graham
11-Sep-2010
[3266x2]
sure ..
something wrong with CC
AdrianS
11-Sep-2010
[3268]
you don't get the error I noted above when you do the following?
view [ button "" ]
Steeve
11-Sep-2010
[3269]
Hum... It's not my problem currently. What is the hosting address 
?
Graham
11-Sep-2010
[3270x2]
Adrian, this is using a core without r3gui compiled in and just run 
normally
i see that some people recommend that your GUi should run in a separate 
thread from the rest of your application so that while's it's busy 
doing things, the GUI still remains responsive.  How can we apply 
that to R3?
Henrik
12-Sep-2010
[3272]
I suppose the event model that Carl talked briefly about could rectify 
that, so there would not be a need for threading.
Maxim
13-Sep-2010
[3273x3]
can anyone explain why there is a 'MOVE event every second when we 
have a gob! window open...  ?


I'm guessing its for blinking type handling.... but it should have 
its own type.  This also occured in R2 and its extremely annoying 
when handling events.
is the gob/image parameter supported in A107?  I can't seem to make 
it work...
gmask: make gob! [image: bmask]
gmask/offset: 30x0
gmask/image: bmask
probe type? bmask
probe gmask

== image!
== make gob! [offset: 30x0 size: 60x60 alpha: 0 image: none]

weird.  maybe the image gob type has been dropped?
Henrik
13-Sep-2010
[3276]
Maxim, I have no idea whether it's related, but there is currently 
an issue with TO-IMAGE.
Maxim
13-Sep-2010
[3277x2]
box clipping of gobs is making them harder to use than they should 
for general graphics use when gobs are nested into panes. 

it would be nice to be able to support a clip? parameter.


for example, it would be nice to be able to use 0x0 as the origin 
in which to draw (so that negative offset values be used in the draw 
block), but we can't unless we always add a transform to the draw, 
which has to managed along with the size at any change in size.


go three pane deep, and we have to manage all the hierarchy all the 
time its pretty complicated for nothing.  


pane grouping should allow them to be used, just for transform, not 
only for visibility.
henrik, ok, in any case, we can use them within a draw block, which 
isn't that hard to do anyways... in the meanwhile
Henrik
13-Sep-2010
[3279]
the issue is set to be solved in this week's sprint, by cyphre, but 
we'll see if he makes it.
Maxim
13-Sep-2010
[3280x5]
ok well... I'm getting an assertion failed #1207 error crashes with 
large blocks... using to-draw on a large block closes R3 without 
any warning!
actually, its other series funcs which close rebol unexpetedly.  
  


WRITE and MOLD both have closed REBOL on that large draw block.... 
though strangely, the file is properly molded and written to disk.
actually, its the  TO-DRAW function which kills Rebol.
will reduce the problem to a reproductible crash test.
btw, the crashing draw block currently is ~8000 lines long.
Cyphre
14-Sep-2010
[3285x2]
Maxim, gob/image  is disable currently in the hostkit...I plan to 
get it back to work this week so you can expect it in the next releases.
also it would be good if you could trace that larger draw block crash 
or at least reduce it to smallest possible test case.
Maxim
14-Sep-2010
[3287x3]
yeah, I was thinking of doing another test run... the current generating 
script is pretty convoluted as it goes through a complex liquid dataflow 
network to be built.
right now I'm busy integrating OpenGL within a gob!  :-)
a question... is there a single place where a gob is destroyed (maybe 
a callback or some method) within the host-kit?  just so its more 
invisible, when I need to detach a gob from the OpenGL rendering 
context... at this point I have all I need to build an OpenGL gob.. 
but nothing to get it automatically cleaned up.
Cyphre
14-Sep-2010
[3290]
GOB is 'destroyed' by GC AFAIK so you shouldn't rely on that event 
imo. I don't know details of your implementation but making separate 
OpenGL context for every GOB doesn't seems to me as a good idea.
Maxim
14-Sep-2010
[3291x2]
another question.  if I have a region of ram which contains rgba 
pixel data as an array.    what is the function I need to call within 
the compositor::cp_process_gobs() func so that I can copy that array 
within a gob's pixel buffer?


I've been running around the source and its a bit complicated... 
there are so little comments in the agg code... I'm not sure what 
does what.


I was thinking that the clue lies somewhere in the undefined code 
within 
case GOBT_IMAGE:
the gob will act as a container for an OpenGL context (and viewport).


so a single gob! will store the whole 3d scene, not just a single 
poly/shape.   I guess I'll have a command block similar to gob!/draw 
 to define some aspects of a 3D scene (though not everything... since 
3D is pretty heavy... probably things will be loadable from ram and 
disk)
Cyphre
14-Sep-2010
[3293]
case GOBT_IMAGE: is a place where the gob/image content is rendered..as 
I said this code was disabled when Carl updated the hostkit. I'll 
be updating that part this week.
Maxim
14-Sep-2010
[3294]
but is the code for copying over image data to the compositing buffer 
basically there?

mainly:
	ren_buf m_rbuf_img;
	m_rbuf_img.attach(GOB_BITMAP(gob),gobw,gobh,gobw * 4);
	agg_graphics::pixfmt pixf_img(m_rbuf_img);
	[...]
	m_rb_win.copy_from(m_rbuf_img)
Cyphre
14-Sep-2010
[3295]
yes
Maxim
14-Sep-2010
[3296x2]
ok, I'll fiddle around until it works  :-)


I know that all of what i'm doing is currently subject to being broken 
at each release, but I took care not to mix my code within any of 
the extensions, so its pretty easy to merge and adapt with your next 
releases.
my goal is to allow an dynamic linking of any external gfx engine 
within the current system.   hopefully DirectX, Cairo and ImageMagic 
integrations will also be possible, but I have no idea about their 
API so it might still be a pipe dram at this point.
Cyphre
14-Sep-2010
[3298]
Yes, this is not so easy to do as you need to always manage the window 
differently for almost every gfx system. I have in works AGG accelerated 
using OpenGL using one trick which makes things much easier and still 
pixel precise. But I need to try convert the pure c++ prototype code 
into the Hostkit first to see how it behaves in 'real world' usage 
cases...
Maxim
14-Sep-2010
[3299x2]
the question I am asking myself is if I can have both an OpenGL and 
Direct gob! in the same window  :-D
Direct = DirectX
Cyphre
14-Sep-2010
[3301]
I don't think so..but maybe there is some 'hack' for that. Anyway 
not sure why would you need such setup.
Maxim
14-Sep-2010
[3302]
I am just wondering... really.
Anton
14-Sep-2010
[3303]
OpenGL and DirectX can give you different rendering capabilities, 
so I think there is nothing wrong with having both in the same window 
for comparison side by side.
Maxim
14-Sep-2010
[3304]
I have added hooks for Cairo and Image Magic too.  (though they aren't 
implemented in any ways whatsoever).