inp o҉rtb
The Gangsta
Global Moderator
Official 110mb Guru
   
Offline
Posts: 15642
experimental theologian
|
 |
« Reply #100 on: August 04, 2007, 02:26:14 AM » |
|
okay. just like in javascript you can manupulate the status by window.status. Actually, you can't. Most modern/decent browsers nullify statusbar changes by default =p Yeah, you're right. It's not quite online yet =p But I'm keeping that name to make sure that I have a clear view of my goal. As for the DB access... I'm going to let Imagine access the database directly. Also, I think Java Web Start has a persistent storage mechanism, similar to cookies.
Here's a screenshot with the current tree-based layering mechanism --  What I did to generate this screenshot was first create a multilayer PNG, then add the file to itself a couple of times. The result is a project with layers in many levels. Each layer group is blended in overlay mode, but the layers within each group are blended using different methods. Currently, it is very slow -- apparently, all layers are re-rendered when the view is updated. However, the benefit of having multiple levels of layering is that each container can be pre-rendered, speeding up the overall process. This issue will be addressed now. The filters will also be fixed to reflect the new layering architecture.
|
|
|
|
|
Logged
|
|
|
|
|
antimatter15
|
 |
« Reply #101 on: August 04, 2007, 06:01:00 AM » |
|
okay. just like in javascript you can manupulate the status by window.status. Actually, you can't. Most modern/decent browsers nullify statusbar changes by default =p Yeah, you're right. It's not quite online yet =p But I'm keeping that name to make sure that I have a clear view of my goal. As for the DB access... I'm going to let Imagine access the database directly. Also, I think Java Web Start has a persistent storage mechanism, similar to cookies. okay. that sucks. why can't it access the statusbar changes? security?
Here's a screenshot with the current tree-based layering mechanism --  What I did to generate this screenshot was first create a multilayer PNG, then add the file to itself a couple of times. The result is a project with layers in many levels. Each layer group is blended in overlay mode, but the layers within each group are blended using different methods. Currently, it is very slow -- apparently, all layers are re-rendered when the view is updated. However, the benefit of having multiple levels of layering is that each container can be pre-rendered, speeding up the overall process. This issue will be addressed now. The filters will also be fixed to reflect the new layering architecture. OOOH PWETTY!
|
|
|
|
|
Logged
|
Ajax Animator, a web-based, collaborative animation authoring environment with Flash, Silverlight, and GIF export.
|
|
|
inp o҉rtb
The Gangsta
Global Moderator
Official 110mb Guru
   
Offline
Posts: 15642
experimental theologian
|
 |
« Reply #102 on: August 04, 2007, 11:13:13 AM » |
|
okay. that sucks. why can't it access the statusbar changes? security? It's not security; most people just don't like most status bar scripting. I know I used to be very annoyed with these scrolling text messages in the status bar. And then they disappeared altogether, and I didn't notice the status bar at all until I tried to change it myself and found that I could not. There _is_ a switch in Firefox that allows status bar scripting. I mean, it's useful when it's used right... but most developers don't use it right. OOOH PWETTY! Wanna know what's prettier? That open image is a screenshot of Photoshop, which Imagine is pwning =p (j/k)
|
|
|
|
|
Logged
|
|
|
|
|
antimatter15
|
 |
« Reply #103 on: August 04, 2007, 11:24:12 AM » |
|
Okay. so any prediction when some more things will work? how do you get a subdomain for your domain to work? like imagine.inportb.com
|
|
|
|
|
Logged
|
Ajax Animator, a web-based, collaborative animation authoring environment with Flash, Silverlight, and GIF export.
|
|
|
inp o҉rtb
The Gangsta
Global Moderator
Official 110mb Guru
   
Offline
Posts: 15642
experimental theologian
|
 |
« Reply #104 on: August 04, 2007, 11:28:51 AM » |
|
Well, before adding more features, I want to make this thing faster and to update all existing features to the new architecture. I have yet to figure out why it is so slow... but I'll fix it somehow. I'll also add clipping support, so as to avoid rendering the off-screen portions of the layers. And I have to fix the trimming and padding support, because those were broken when the tree-based rendering path was introduced.
But as soon as I get these things figured out, new layer types will be added, as well as more filters, Rhino, history, copy+paste, and all that good stuff.
The subdomain is actually hosted on a different account as the main site. I have it set up as the 'extra domain'. inportb.com => box5 imagine.inportb.com => box4
|
|
|
|
|
Logged
|
|
|
|
|
antimatter15
|
 |
« Reply #105 on: August 04, 2007, 11:40:24 AM » |
|
you can set up multiple accounts?
|
|
|
|
|
Logged
|
Ajax Animator, a web-based, collaborative animation authoring environment with Flash, Silverlight, and GIF export.
|
|
|
inp o҉rtb
The Gangsta
Global Moderator
Official 110mb Guru
   
Offline
Posts: 15642
experimental theologian
|
 |
« Reply #106 on: August 04, 2007, 02:24:36 PM » |
|
up to three. by the way, you gotta read the TOS again ;]
|
|
|
|
|
Logged
|
|
|
|
|
antimatter15
|
 |
« Reply #107 on: August 04, 2007, 09:43:19 PM » |
|
up to three. by the way, you gotta read the TOS again ;]
Yeah, I did, just making sure.
|
|
|
|
|
Logged
|
Ajax Animator, a web-based, collaborative animation authoring environment with Flash, Silverlight, and GIF export.
|
|
|
inp o҉rtb
The Gangsta
Global Moderator
Official 110mb Guru
   
Offline
Posts: 15642
experimental theologian
|
 |
« Reply #108 on: August 05, 2007, 01:57:13 AM » |
|
Okay, I fixed trimming, cropping, and padding. I updated all filters to the new rendering style. There is just one thing -- filtering compound layers is undefined. Ideally, it should be equivalent to filtering all sublayers, but i would like to be able to show a faster preview. Would filtering the blended image yield the same or a similar result as blending after filtering? If not, then I'll just do the slow filtering.
I'm going to implement some basic clipping next, to try to optimize the rendering process.
|
|
|
|
|
Logged
|
|
|
|
|
antimatter15
|
 |
« Reply #109 on: August 05, 2007, 01:58:16 AM » |
|
Okay, I fixed trimming, cropping, and padding. I updated all filters to the new rendering style. There is just one thing -- filtering compound layers is undefined. Ideally, it should be equivalent to filtering all sublayers, but i would like to be able to show a faster preview. Would filtering the blended image yield the same or a similar result as blending after filtering? If not, then I'll just do the slow filtering.
I'm going to implement some basic clipping next, to try to optimize the rendering process.
soon you'll be a java pro.
|
|
|
|
|
Logged
|
Ajax Animator, a web-based, collaborative animation authoring environment with Flash, Silverlight, and GIF export.
|
|
|
inp o҉rtb
The Gangsta
Global Moderator
Official 110mb Guru
   
Offline
Posts: 15642
experimental theologian
|
 |
« Reply #110 on: August 05, 2007, 02:24:08 AM » |
|
Heh, I wish. Only if I can make this thing fast =p Now, I know I can preblend lower layers to make the blending faster, but is there a similar operation for higher layers? If only one layer has changed, I don't want to have to blend everything all over again... And this is most obvious when you drag a layer around -- it's super-jerky! This is what campbell over at java.net has to say about this issue -- Coming Soon: PhotoComposite It's not officially approved (or integrated) yet, but I've been working on adding more blending modes to Java 2D, in addition to those already provided by AlphaComposite. Many of these modes come from traditional photography techniques, thus the name "PhotoComposite". Some modes are simple (Add, Multiply) and can be accelerated easily using OpenGL's built-in blending rules, others are more involved (ColorBurn, SoftLight) and benefit greatly from the use of shaders for efficient rendering. Frankly speaking, I'm stoked. Hardware-accelerated Java2D? Dude, I want in! Too bad it's not available yet. Maybe I should skip ahead by using JOGL/Java3D.
|
|
|
|
|
Logged
|
|
|
|
|
antimatter15
|
 |
« Reply #111 on: August 05, 2007, 02:31:46 AM » |
|
Frankly speaking, I'm stoked. Hardware-accelerated Java2D? Dude, I want in! Too bad it's not available yet. Maybe I should skip ahead by using JOGL/Java3D.
why not just wait?
|
|
|
|
|
Logged
|
Ajax Animator, a web-based, collaborative animation authoring environment with Flash, Silverlight, and GIF export.
|
|
|
inp o҉rtb
The Gangsta
Global Moderator
Official 110mb Guru
   
Offline
Posts: 15642
experimental theologian
|
 |
« Reply #112 on: August 05, 2007, 02:50:11 AM » |
|
Because I like a good challenge =p
Anyhow... I'll probably not go for the GLSL, since most of the older machines don't support it (OpenGL2+ is required). I can run it on my laptop, but my desktops complain about the lack of DirectX 9.0... which I have installed. I figured it's shader language support. The simpler blending modes like ADD and SUBTRACT are available; it would be interesting to hack OVERLAY and such into an older OpenGL. And I'm doing all this because of Java's slowness. Haha.
|
|
|
|
|
Logged
|
|
|
|
|
antimatter15
|
 |
« Reply #113 on: August 05, 2007, 02:55:29 AM » |
|
Because I like a good challenge =p
Anyhow... I'll probably not go for the GLSL, since most of the older machines don't support it (OpenGL2+ is required). I can run it on my laptop, but my desktops complain about the lack of DirectX 9.0... which I have installed. I figured it's shader language support. The simpler blending modes like ADD and SUBTRACT are available; it would be interesting to hack OVERLAY and such into an older OpenGL. And I'm doing all this because of Java's slowness. Haha.
geek (sorry i'm pissed off because of wikipedia) I can barely decipher your provided above syntax
|
|
|
|
|
Logged
|
Ajax Animator, a web-based, collaborative animation authoring environment with Flash, Silverlight, and GIF export.
|
|
|
inp o҉rtb
The Gangsta
Global Moderator
Official 110mb Guru
   
Offline
Posts: 15642
experimental theologian
|
 |
« Reply #114 on: August 08, 2007, 05:54:26 AM » |
|
:-P I think I have to work on my long-overdue epigenetics paper now. But once done, I'm rewriting the compositor and filters xD Well... now that I have Wordpress, I can put up a better-looking project page... http://www.inportb.com/wp/index.php/projects/imagine/
Done with the paper, finally! I just added filtering support for compound layers. It's cool -- check it. You can apply a filter to every layer you have just by selecting the canvas first.
|
|
|
|
|
Logged
|
|
|
|
|
antimatter15
|
 |
« Reply #115 on: August 08, 2007, 09:28:02 PM » |
|
:-P I think I have to work on my long-overdue epigenetics paper now. But once done, I'm rewriting the compositor and filters xD Well... now that I have Wordpress, I can put up a better-looking project page... http://www.inportb.com/wp/index.php/projects/imagine/
Done with the paper, finally! I just added filtering support for compound layers. It's cool -- check it. You can apply a filter to every layer you have just by selecting the canvas first. Okay. that looks cool. have you found a svg renderer yet?
|
|
|
|
|
Logged
|
Ajax Animator, a web-based, collaborative animation authoring environment with Flash, Silverlight, and GIF export.
|
|
|
inp o҉rtb
The Gangsta
Global Moderator
Official 110mb Guru
   
Offline
Posts: 15642
experimental theologian
|
 |
« Reply #116 on: August 15, 2007, 08:20:02 AM » |
|
Haven't been lookin'  But I have been optimizing the thing. I'm working out a plugin interface -- it's not much, but plugins can make their own menu entries easily now. Plugins can also make their own Swing widgets, but I'm developing a wrapper around Swing to make it a bit easier. That said, I'm about to add a load of new filters. This, of course, requires the plugin interface, because there is no way I'm going to make their menu entries manually.
I just added some 23 filters to Imagine. This almost tripled the main binary size to 557kb, and the plugin interface of the filters also upped the loading time, but there is now much more functionality! Sometime, I think I'll write some Imagine tutorials. Now that would be killer. Now that I think of it... I think I need color choosers. And I still need to implement selection, cropping, resizing, rotating, and flipping.
Selection has been implemented -- you can now limit your image operations to a selected area. In addition, there is internal support for adding, subtracting, and XORing selections, though no interface for that has been exposed yet. The crop selector will be based on the current selection method, but it will only work with rectangular selections. Imagine is now multithreaded! It used to do everything in the event dispatch thread, which was simplest, but I realize that it's terrible design. Now, whenever an event handler has to do anything resource-intensive (applying a filter, for example), it spawns a worker thread for that purpose. This makes the GUI much more responsive.
I now have a pretty usable history interface; I just have to modify the history entries to be more descriptive. I've also done the cropper and the selector. The selection methods in both are the same -- drag to select, drag selected area to move, click outside to cancel, drag edges to resize. As such, the cropper and selector can use each others' selections -- just switch tools. To crop, make sure the crop tool is selected and double-click the selected area. Next up are flipping, scaling, and rotating. While the flip filter will be constrained to the current selection, the other two filters will not be affected by the current selection -- the whole layer will be filtered. The rotation filter may take a while longer to brew, since translations in compound layers will have to be taken into account. After that, I think I can do a formal release of this product. Meanwhile, I'll work on a magic wand selection tool, color choosers, and URL file access (essential for Web-based workspaces). Additionally, it would be nice to be able to scale the view independently of the model, a la Photoshop. SVG, layer masks, and type layers would be nice things to have. At the same time, Rhino should be embedded. There's lots of work on the horizon, but Imagine is getting to be more and more complete!
|
|
|
|
|
Logged
|
|
|
|
|
antimatter15
|
 |
« Reply #117 on: August 15, 2007, 10:05:20 AM » |
|
oooo! looks pretty advanced now. I like the icons, and maybe you could take some from the icon set I use for my animator: silk www.famfamfam.com/lab/icons/silk
|
|
|
|
|
Logged
|
Ajax Animator, a web-based, collaborative animation authoring environment with Flash, Silverlight, and GIF export.
|
|
|
inp o҉rtb
The Gangsta
Global Moderator
Official 110mb Guru
   
Offline
Posts: 15642
experimental theologian
|
 |
« Reply #118 on: August 16, 2007, 08:26:43 AM » |
|
Thank you.
Actually, I already have the silk icons downloaded from a while ago, when I was planning to use 'em on my projects. However, I found it easier to just make my own icons as I go instead of trying to cast general-purpose icons into more specific roles. The silk icons really do look nice, though; thank you for the suggestion! Well, when I get more functionality into this program, I'll ask for help from my pixel artist friends...
The history entries can now have custom names, which makes them a lot more descriptive. Layer inclusion events (adding, removing, swapping) are now logged. I'll have to deal with grouping, ungrouping, and merging sometime soon. Actually, merging is just an inclusion operation -- a compound layer is swapped for its flattened cousin.
|
|
|
|
|
Logged
|
|
|
|
Diemux
Underground3k.com!
Administrator
Official 110mb Guru
   
Online
Posts: 12098
Use search before asking...
|
 |
« Reply #119 on: August 16, 2007, 08:36:35 AM » |
|
Inportb, you should edit the links in your signature  2 are dead
|
|
|
|
|
Logged
|
|
|
|
|