Logo by AGUS - Contribute your own Logo!

END OF AN ERA, FRACTALFORUMS.COM IS CONTINUED ON FRACTALFORUMS.ORG

it was a great time but no longer maintainable by c.Kleinhuis contact him for any data retrieval,
thanks and see you perhaps in 10 years again

this forum will stay online for reference
News: Did you know ? you can use LaTex inside Postings on fractalforums.com!
 
*
Welcome, Guest. Please login or register. April 20, 2024, 01:18:58 AM


Login with username, password and session length


The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!


Pages: [1] 2 3   Go Down
  Print  
Share this topic on DiggShare this topic on FacebookShare this topic on GoogleShare this topic on RedditShare this topic on StumbleUponShare this topic on Twitter
Author Topic: Synthclipse - a Fragmentarium clone in Eclipse disguise.  (Read 13852 times)
Description: GLSL demo development environment based on Eclipse IDE.
0 Members and 1 Guest are viewing this topic.
_revers_
Conqueror
*******
Posts: 138



« on: February 16, 2014, 02:29:16 PM »

Hi guys,
In last few months I was working on my GLSL demo development environment based on Eclipse IDE, called: Synthclipse.

First version is kind of Fragmentarium clone with minor additions (mainly support for Shadertoy development and music visualization), because I wanted to start with solid foundations and couldn't be better starting point than Syntopia's great Fragmentarium. Future version of Synthclipse will differentiate more. I'm planning to add multipass, scriptable rendering with all types of GLSL shaders – not only Fragment and (limited) Vertex Shader. I also want to focus more on music visualization.

Current version: 0.1.0 does not have all features implemented yet but you can do with it pretty much the same things as in Fragmentarium, except of recording. It has also a Fragmentarium importer.

For more details and download please visit Synthclipse's home page: synthclipse.sourceforge.net

Logged
cKleinhuis
Administrator
Fractal Senior
*******
Posts: 7044


formerly known as 'Trifox'


WWW
« Reply #1 on: February 16, 2014, 04:59:32 PM »

hui, very ambitious project wink
a timeline would be just awesome cheesy
Logged

---

divide and conquer - iterate and rule - chaos is No random!
cKleinhuis
Administrator
Fractal Senior
*******
Posts: 7044


formerly known as 'Trifox'


WWW
« Reply #2 on: February 16, 2014, 05:00:02 PM »

do you already have code highlighting and code hinting ?!
Logged

---

divide and conquer - iterate and rule - chaos is No random!
_revers_
Conqueror
*******
Posts: 138



« Reply #3 on: February 16, 2014, 06:49:24 PM »

hui, very ambitious project wink
a timeline would be just awesome cheesy

A "timeline"? You mean when and what would be implemented?

The progress isn't too fast since I'm a single developer working on Synthclipse only in my spare time. I have a full time job apart from that.

Version 0.1.0 of Synthclipse has already implemented almost all features of Fragmentarium, except of recording and uniform locking.
Moreover I have implemented an Audio Player, for Shadertoy compatibility, but currently it works only on Windows.
I'm plannig to port it to Linux but I don't know when. (It shouldn't be too difficult since I'm using GCC (from MinGW)
and only portable libraries like PortAudio and mpg123).

Now I'm focusing on native Synthclipse Player.
I hope I will release first version of it along with foobar2000 plugin within two or three months.

Then I will go back to Synthclipse IDE. First I will implement recording (to set of png files or to mpg video format, with sound. I'm going to use ffmpeg).
This will take me 2-4 weeks.

Next I will bring scripting support to Synthclipse. I'm going to use Python as scripting language since it has already good OpenGL support.
I don't know when I finish it.

do you already have code highlighting and code hinting ?!

Yes, I have a great editor with code highlighting, code hinting, code autoformatting and couple of more features. I haven't written it. I've got it for free, since
I'm pretending that GLSL is a plain C++ and I'm using Eclipse's build-in C++ editor. It isn't perfect solution (for example C++ has more keywords than GLSL),
but most of the time it works very well.

Moreover since Synthclipse IDE is focused on developers I took great effort to make error tracking really easy:



Line with error is highlighted in editor and from Console View you can go to it by clicking on a hyperlink.
« Last Edit: February 16, 2014, 06:53:37 PM by _revers_ » Logged
Syntopia
Fractal Molossus
**
Posts: 681



syntopiadk
WWW
« Reply #4 on: February 16, 2014, 08:23:17 PM »

Hi Revers,

Just installed it and it worked fine! Amazing what you have already implemented.

One minor thing: I get a lot of errors in the editor (parse errors from parsing the GLSL code as C++ code). These should probably be toggled off somehow (I don't see any in your screenshots).

Looking forward to see how this evolves!

Would it be possible to make this into a stand-alone Eclipse application (an Eclipse RCF app)? If there were less options in the IDE, it might make it easier for people to get started.

Best regards, Mikael.
Logged
cKleinhuis
Administrator
Fractal Senior
*******
Posts: 7044


formerly known as 'Trifox'


WWW
« Reply #5 on: February 16, 2014, 08:27:16 PM »

nice, i thought of a timeline for the variables wink
and dont spend too much time on video encoding
in most cases it is preferable to have single images in that case continuation of rendering is far more easy to handle, and broken video encoders are a pain in the ass wink

perhaps you can extend the code hinting with a glslextension, so that special glsl code gets hinted as well
Logged

---

divide and conquer - iterate and rule - chaos is No random!
_revers_
Conqueror
*******
Posts: 138



« Reply #6 on: February 16, 2014, 09:11:35 PM »

Just installed it and it worked fine! Amazing what you have already implemented.
...
Looking forward to see how this evolves!

Thank you! Your opinion is very valuable to me since I've implemented so far mostly your ideas.

One minor thing: I get a lot of errors in the editor (parse errors from parsing the GLSL code as C++ code). These should probably be toggled off somehow (I don't see any in your screenshots).

It's bug in Eclipse. Sometimes C/C++ indexer failes and you have to manually force reindexing by RMB on the project -> Index -> Rebuild.



I'm going to write Synthclipse FAQ soon and put this in one of the questions.

Would it be possible to make this into a stand-alone Eclipse application (an Eclipse RCF app)? If there were less options in the IDE, it might make it easier for people to get started.

Yes it is possible to build separated Eclipse RCP with choosen plug-ins only. I was thinking of making single file downloadable Synthclipse but not before version 1.0. With your suggestion maybe I will do this sooner smiley

nice, i thought of a timeline for the variables wink

Cool, I'm looking for new ideas. Could you give me more details how this should look like and behave?

and dont spend too much time on video encoding
in most cases it is preferable to have single images in that case continuation of rendering is far more easy to handle, and broken video encoders are a pain in the ass wink

I would like to implement video encoding since I want to capture sound as well (from my audio player). But thanks for the suggestion, I won't dive into it too deep if it would be too problematic.

perhaps you can extend the code hinting with a glslextension, so that special glsl code gets hinted as well

What do you mean about "special glsl code" and what hints? GLSL with proper macros (included in "synthclipse" header) is handled very well by build-in C/C++ editor/parser.
There is only problem with uniform blocks since they are like structs but without "struct" keyword.
In practice I haven't seen yet any GLSL code that used them. I think, for GLSL demos purpose, we can live without them smiley
Logged
SCORPION
Conqueror
*******
Posts: 104


« Reply #7 on: February 17, 2014, 02:33:38 AM »

Very interested in your program.
Unfortunately, I could not run the program.
Did everything according to instructions,

"Installation is very simple:

Download Eclipse IDE for C/C++ Developers
Download Synthclipse archive
Extract Synthclipse archive to the Eclipse's main directory.
Getting Started
Run Eclipse
From main menu choose Window -> Open Perspective -> Other....
In Open Perspective Dialog choose Synthclipse and press OK button."

 but eclipse-cpp-kepler-SR1-win32-x86_64 sees folder synthclipse
What I doing wrong?


* 16-02-2014 19-32-11.png (27.56 KB, 359x436 - viewed 1943 times.)
Logged
Kali
Fractal Supremo
*****
Posts: 1138


« Reply #8 on: February 17, 2014, 07:56:03 AM »

Same problem here, Synthclipse is not shown in "Open perspective" items
Logged

Kali
Fractal Supremo
*****
Posts: 1138


« Reply #9 on: February 17, 2014, 08:34:34 AM »

Solved, it was because of the 64bit version, I downloaded 32bit and worked... but now I can't build any shader! (the "build shader" option is in grey - disabled) (nevermind, solved)

Now that I got it working, it looks good, I'll play with it later. I like that I can have uniform sliders for shadertoys, and then export them with the desired preset.

(I'm pretty sure in the near future there will be uniforms support / presets in Shadertoy, though.)

Btw, did you get the permission of Beautypi for the Shadertoy functionality? And it would have been nice if you asked permission to include the shaders you used as examples, even if they are Creative Commons by default.

Not a prob for me, and I feel honored you included some of mine, but just ask the next time smiley
« Last Edit: February 17, 2014, 09:04:48 AM by Kali » Logged

_revers_
Conqueror
*******
Posts: 138



« Reply #10 on: February 17, 2014, 09:29:05 AM »

@SCORPION

Did you copy synthclipse-0.1.1-20140216.zip archive to "eclipse" directory and used "Extract here..."
so that files and folders from "synthclipse-0.1.1-20140216.zip/plugins":
1. org.synthclipse.examples_0.1.0.201402162235
2. org.synthclipse.include_1.0.0
3. org.jogamp.jogl_2.1.0.201402162235.jar
4. org.jogamp.jogl-linux-amd64_2.1.0.201402162235.jar
5. org.jogamp.jogl-linux-x86_2.1.0.201402162235.jar
6. org.jogamp.jogl-macosx-universal_2.1.0.201402162235.jar
7. org.jogamp.jogl-windows-amd64_2.1.0.201402162235.jar
8. org.jogamp.jogl-windows-x86_2.1.0.201402162235.jar
9. org.synthclipse.core.ui_0.1.0.201402162235.jar
10. org.synthclipse.core_0.1.0.201402162235.jar
11. org.synthclipse.ide_0.1.0.201402162235.jar
12. org.synthclipse.logback_0.1.0.201402162235.jar
13. org.synthclipse.media_0.1.0.201402162235.jar
14. org.synthclipse.media-linux-amd64_0.1.0.201402162235.jar
15. org.synthclipse.media-linux-x86_0.1.0.201402162235.jar
16. org.synthclipse.media-macosx-universal_0.1.0.201402162235.jar
17. org.synthclipse.media-windows-amd64_0.1.0.201402162235.jar
18. org.synthclipse.media-windows-x86_0.1.0.201402162235.jar

went to "eclipse/plugins" directory? I've tested Synthclipse in exactly the same version as yours and it works fine.

@Kali

Sorry I haven't asked you for permission of using some of your shaders from Shadertoy in Synthclipse. I was thinking that fulfilling Creative Commons requirements will be sufficient,
but I promise it won't happen again - a will ask you first.

Yes, I've got permission from  Beautypi to use their assets (owned by them). For other assets without explicit license I've asked their authors. Except of shaders which are on Creative Commons license.
But since you are a little bit offended, so other shader authors can be, I will first ask everybody about permission even if I wouldn't break Creative Commons agreement without that.

So, Kali, can I keep your shaders in Synthclipse examples?

Logged
Kali
Fractal Supremo
*****
Posts: 1138


« Reply #11 on: February 17, 2014, 09:41:19 AM »

Yes, as already told you, there's no problem, you can keep them. And I'm not offended, I just think it's nice to be asked before using stuff like this in a project. Please consider that the example shaders you used (including screenshots in your website), kind of help to promote your app, even when it's a free tool that you are kindly sharing with us. Hope you understand what I'm talking about.
Logged

_revers_
Conqueror
*******
Posts: 138



« Reply #12 on: February 17, 2014, 10:22:06 AM »

On every screenshot I'm trying to expose the author of a particular shader among with license (in shader code).
But yes, I uderstand what you are talking about, and now I think that would be better if I would ask the shader authors about permissions.
I will do that after work. In the future I will be asking authors for permissions in the first place.
Logged
Syntopia
Fractal Molossus
**
Posts: 681



syntopiadk
WWW
« Reply #13 on: February 17, 2014, 09:49:51 PM »

Wrt licensing, I think it is a bit weird to ask about permissions to use something that the author has CC licensed. After all, the author has already given permission and stated the terms of license. And the author is not even allowed to refuse the usage, if the license terms are met ("The licensor cannot revoke these freedoms...").

I guess it would be kind to notify the author, if your are using his work, but asking for permissions should not be necessary when clear licensing terms are stated.

I can see that Shadertoy has an implicit Creative Commons license for all posted shaders (unless otherwise specified), and while I actually think this is a good thing, it probably should be made more clear to the users when they post their shaders (since they now have licensed their work under unrevokable conditions).

In contrast, the Fractal Forums Imprint state that full copyrights remains with the author. Which means that code snippet posted here may be more difficult to use - especially if the code is a product of multiple authors, and the origin is not clear.
Logged
Kali
Fractal Supremo
*****
Posts: 1138


« Reply #14 on: February 18, 2014, 01:12:55 AM »

Syntopia, you are right, in formal terms there's no need to ask for permission, and off course I don't think _revers_ did anything wrong regarding licensing. And you know I never had any problems to share anything of what I do with other people. The only purpose of asking "permission" in this case, is just to know who's going to use your work, where and how. I shouldn't use the word "permission", but in my language is used even when the permission is obviously already given, as a formality and to let the other know you are going to use what he is giving you already. So, I'm not offended at all or think revers did anything wrong per se, I just wanted to let him know, that I personally like to be notified (that's the right word) when some of my work is going to be used for something like this project. There are other people using some of my codes in other projects, and most of them asked or notified me about it (and even telling me later about their progress in the implementation) and I like it this way, even when you are allowing anyone to use your stuff, it's good to know how your stuff is being used. But I can't blame _revers_ about this, I should add in the comments of my shaders that I want to be notified, or find another license that requires this previous notification to the author.

« Last Edit: February 18, 2014, 01:15:08 AM by Kali » Logged

Pages: [1] 2 3   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
Aline clone generator Mandelbulb3D Gallery bib 0 941 Last post July 03, 2010, 01:42:12 AM
by bib
Synthclipse 0.9.4 released. Downloads. Synthclipse « 1 2 » _revers_ 21 3933 Last post September 04, 2014, 12:12:16 AM
by cKleinhuis
Synthclipse 0.9.5 Synthclipse _revers_ 1 1008 Last post September 03, 2014, 07:33:22 PM
by cKleinhuis
Mandelbulb Eclipse Of The Moon Mandelbulber Gallery mclarekin 0 831 Last post March 23, 2015, 04:47:13 AM
by mclarekin
Silver Eclipse of the Sun Mandelbulb3D Gallery Andrew Wilson 0 756 Last post March 24, 2015, 06:18:54 PM
by Andrew Wilson

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Page created in 0.173 seconds with 25 queries. (Pretty URLs adds 0.009s, 2q)