Showing posts with label OpenGL ES. Show all posts
Showing posts with label OpenGL ES. Show all posts

2012/04/23

New results

We submitted a paper to EGSR (Eurographics Symposium on Rendering), and still waiting to see if the paper is accepted or not.


In the mean time, here's a little result. We used a Perlin sum, to sum up the first four images, to create the last one. The output is very interesting.


Here's the octaves:





Here's the output (also used as the new backgroud for this blog):


Note that each octave is different, which is different to Perlin noises. But if we wanted, we could have used the exact approach described by Perlin.


In future post, I'll give more detail about the method used to create these textures. All images are tileable. Eventually, a GPU version of this framework should be implemented. Either as a fragment shader or on CUDA/OpenCL.

2012/04/18

Shader Toy

I know it's been a while since I posted something, and I will post some new results soon.


If you're interested to play with the fragment shader in WebGL, here's a wonderful link: Shader Toy.


Plus, the Khronos Group is working on to define a JavaScript binding to the Khronos OpenCL with WebCL, which is a very good thing.

2011/08/05

SIGGRAPH

This week, I will be at SIGGRAPH in Vancouver. I will try to share some of the stuff I will see on the blog. I hope to be able to talk about the last stuffs in procedural texturing and rendering.

2011/07/26

A new live-wallpaper

Recently, I showed images about grouping points together to create a different kind of Voronoi diagram (see Merging Voronoi).

The case with two groups is very interesting because it splits the plane in two parts. I was first intrigued by what it would look like animated and then I imagined that if each group is associated with an image. It's possible to show parts of the first image where its group is visible and part of the second image where the second group is.

So I came up with a very simple live-wallpaper. All you need to do is select two images and let the animation do the rest. This is much more easier to use than the Weird Voronoi (Pro) with all the functions.

Here's some outputs:

(this one is the default, when you first start the live-wallpaper)






Here's the link and the QR code:

https://market.android.com/details?id=com.blogspot.widgg_research.twin

2011/07/18

Weird Voronoi Pro (news and possible improvement)

So first, after playing around with all the functions. I found my favorite configuration yet (but I might found a better one... who knows).

field value
Select a ratio, R = (d1*d2)/(d3^2)
x = f(R) f(R) = tan(R*pi/4)
y = f(x) f(R) = R*(0.5*[!] + 0.5)
z = f(y) f(R) = R^2
c = f(z) f(R) = R

And for the improvements, one option is to at least double the number of steps. But I will wait for some comments about this. As you can see, in the above configuration, I don't even need the last one.

Also, I'm still looking for more functions to offer a larger variety of transition in the [0;1] range. Particularly functions that might reach both limits more than once in the [0;1] of the input. This will create more disturbance inside one cell alone!

This week, I will start writing some documentation, to explain all of this and to present the choices available later to develop your own function with GLSL.

2011/06/26

Live-Wallpaper on the Market (feedbacks)

In three days, the number of download is already over 100. Which is a good news.

But, I was hoping for more ratings than that. But I checked other apps, and some with 250000+ downloads only have around 1000-2000 ratings. So, less than 1% of users take the time to rate.

Anyway, it's not a reason to stop. I will post an update version very soon because I found a better way to distribute the orientations and I might try a new way to distribute the points too.

2011/06/23

Live-Wallpaper available on the Market

I finally managed to put a first version of my live-wallpaper on the market.

You can find it right here:

https://market.android.com/details?id=com.blogspot.widgg_research&feature=search_result


Post comment on this post to tell me what you think about it. It's a first version and there's a lot of work to do to create the professional version and also to improve this one.

For major problem, I will do my best to put a new version of the application on the Market as fast as possible.

The live-wallpaper is rough on the fragment shader that I created in OpenGL ES 2.0. So it's very important to control the execution of the application base on this. Fewer points and a lower FPS (frame per seconds) will give better results.

I'm also interested to know the performance of your Droid, particularly if they run on Honeycomb. So, I'd like you to post your device, version of Android, number of points and FPS that you used in your settings.

Here's some screenshots:









2011/06/16

Live Wallpaper (some progress)

So, I progressed a lot in developing my first Live Wallpaper for Android. For now, I call this app "Weird Voronoi" because it uses the concept of the Voronoi diagram with some tweaks to create various visual effects.

I had a bit of difficulties to convert directly my fragment shader used on my machine to a fragment shader that can be used on Android with OpenGL ES 2.0. There's some restriction over the language that requires a certain adaptation. But in the end, the result is mostly the same.

Other problem in development, the emulators available cannot run shaders. So I have to debug completely on my Galaxy S. This mean that I know it's working on my phone, but I don't know about any other. I suspect that any phones more recent than the Galaxy S won't have any problem running it.

For now, in the project, I made the majority of the test I wanted to do. To see what are the limits. And actually, compared to a desktop, it's very limited. On my phone, running more than 4 points can be tricky while on the desktop, hundred points is not really a problem. So the objective was also to use this limited amount of points to be able to create some nice effect and I think I managed to do this.

Here's a first images of what the Live Wallpaper will look like:

I took this images from an app I'm developing on my desktop, but the visual effect is mostly the same.

Now that I know the limitation and the possibilities, the main thing left to be able to produce a first version to put on the Android Market is the settings to control the Live Wallpaper.

For now, the common options would be to choose the number of points. Even if 4 on my phone is the limit, there's some benchmark showing that some phones might be able to handle 16 points without a problem. The users will be able to choose if the points are moving, and at which speed. Same thing of the spirals (or if they want a spiral or not).

A variety of functions will be available to choose the right distribution of color. And the possibility to choose between a colored version or a gray scale version.

When the app will be available on the Market, I will give more detail about the features.

Meanwhile, I might post other images of other functions to show other visual effects.

2011/06/14

Live Wallpaper

Playing with texture can be very nice. But when your objective is to find ways to generate them and to generate them, you need to find various methods to place points and other parameters, you notice that if some points or parameters changed a bit, the texture looks almost the same, but with a little difference.

Therefore, being able to change those parameters a little bit at the time, we are able to create animations. So instead of a static texture, we have a texture evolving with the time. And if it's done properly, this animation won't be the equivalent of an animated GIF that repeats itself forever. Each new images is unique and to have a close loop over that animation can take a while.

Live Wallpapers are a feature available sine Android 2.0. It allows you to put a wallpaper with some sort of animation, and some times interaction when you press on the screen or move your phone (if there's an accelerometer on it).

Here's some statics images produced earlier that can be converted into an animation for the live wallpaper:






Right now, there's no official date for a release. I'm taking my time to develop it properly, to be sure it won't drain batteries and it will be smooth enough.

With the limited power of a smartphone, the number of points used to control the data would be much lower. In the previous images, there's around 64 points, more or less... sometimes much more. But on a phone, 4 to 16 points might be the top. But what is important is to have enough options so the users can create the live wallpaper they want.

More information about this soon!

2011/06/07

Red and Cyan Stereoscopy (P.S.)

Just a special note, the method presented in the previous post can work on OpenGL ES. So if you're developing on Android or iOS, you can create stereoscopic scene that can be viewed on smartphones and tablets.

On Android, here's two apps (not necessary using OpenGL) that allow you to play with the stereoscopy: