SeamLess3D with OpenGL and SDL

Main Forum

  Threads Index  

Dear thyme, I'm outsourcing a port of SeamLess3D to OpenGL, SDL and SDL_Net.
This will make me pay eur 80/week for almost 20 weeks.
I hope this is interesting for you, and please, if you're already intentioned to do the same, please tell me before tomorrow, as I could save money.

Powerful - 2017-09-02 08:45:53

Your Response:          


Dear Powerful, I have had no experience using SDL but I am interested. I prefer the permissive Zlib licence SDL is under to QTs GPL however I don't think you should spend 80 euros a week for 20 weeks just to port seamless, that sounds like a lot of money just to get hold of a few simple examples that do a few low level tasks. Because most of seamless's code does not use function calls that are specific to an operating system, all we need is some simple working examples of plotting pixels working harmoniously with meshes rendered with OpenGL ES that compile and link for Linux and Android and we are away.
A solution using OpenGL ES alone, would be to use textured triangles for the GUI. This would be guaranteed to work but I am not sure how good the quality will be. Ideally I want to keep the pixels exactly the same on the screen as they are in the texture. Keeping the pixel dimensions the same as the rendered rectangles would help but I fear some blending will occur. If the buttons and text are kept big enough this might not be notifiable but small buttons might be essential for an android but is what I want to try first using QT, a better solution if needed can be found later.

thyme - 2017-09-02 17:14:45 in reply to Powerful 2017-09-02 08:45:53

Your Response:          


Thanks for your feedback.
Indeed, that's what I meant. I guessed 80 euros/week for 80 week would have been too much.
SDL has several GUIs to choose from and it support OpenGL, plus it's compatible with android and ios.
As i said, it also provide audio output, and a network library.
This to explain:
Win32 API for GUI->SDL any gui
DirectX audio->SDL audio
DirectPlay->SDL_net
Direct3D->OpenGL
All of the above -> Windows, Linux, Mac, Android, iOS.

Note whatever GUI for SDL would keep pixels 1:1 with your texture.

Powerful - 2017-09-02 17:28:47 in reply to thyme 2017-09-02 17:14:45

Your Response:          


Have you compiled any SDL examples yet?

In the Qt OpenGL examples, I have noticed some of the examples seem to be plotting pixels directly to the screen, so hopefully OpenGL ES offers a clean way to port Seamless3d's native gui to other OSs same as SDL.

SDL sounds good so far, I hope it will be less challenging than Qt to get it to work on an android but until I have had some experience compiling SDL, I am in the dark.

So far I have only been able to take a quick glance at it. I noticed on a youtube tutorial on SDL, Visual Studio was being used which would make the process of porting much easier for me, as I am much more experienced working in Visual Studio than in Qt. However Qt is good in offering the same IDE to work with whether you are working in Linux or Windows.

thyme - 2017-09-10 07:40:33 in reply to Powerful 2017-09-02 17:28:47

Your Response:          


I finally tried compiling a simple examples of SDL 2 and managed to plot 2 pixels using a C pointer.
I had to download the lib files of course but it was all very straight forward setting everything up D Smile
I had no problems getting it to compile using Visual Studio 2010 and my recently installed Visual Studio 2017
I am very happy too that there were no problems getting it to compile a 64 bit program.
I am now experimenting with compiling simple examples of OpenGL with GLSL scripts using Visual Studio.

thyme - 2017-09-11 13:48:12 in reply to Powerful 2017-09-02 17:28:47

Your Response:          


I'm very glad to hear this. Now the only remaining issue is about using OpenGL and GLSL instead of DirectX.
Keep up the great work!

Powerful - 2017-09-11 13:50:44 in reply to thyme 2017-09-11 13:48:12

Your Response:          


Hi Powerful, I am also thinking of porting Seamless3D to OpenGL under Win64. Did you complete your project? If you did, I can share some cost with you.

Spruce - 2018-11-07 12:04:14 in reply to Powerful 2017-09-02 08:45:53

Your Response:          


Hi thyme,
I am thinking of porting Seamless3D to OpenGL under win64. Do you know any OpenGL and Win64 version of Seamless3D that you or others already developed? If it already exists, I do not need to do my effort. Thanks.

Spruce - 2018-11-07 12:09:22 in reply to thyme 2017-09-10 07:40:33

Your Response:          


Hi Spruce
I have recently resumed porting Seamless3d to OpenGL ES and SDL. I am very glad to be able to now compile all of the code for the current version using Visual Studio 2017, because this will let me use more modern C++ code offering greater flexibility.
I am just about at the stage of where I got to with the QT port back in 2015:

http://www.seamless3d.com/qt/

where I can load a seamless file containing stitched patches. Because I don't have to make as many temporary modifications like I did with the QT port, it is much easier now just to focus on rewriting the code that used DirectX 8.1
I am hoping to have a 32 bit OpenGL SDL version ready for modelling in just a few weeks time. Getting all of the code to compile for 64 bit mode is more challenging because the assembly code for the seamless script compiler is written for 32 bit mode and so much of the assembly code will need to be updated. I should however only need to update a fraction of the assembly code to run in 64 bit mode to begin with, as only very simple scripts are needed to animate a model using the automatic scripting feature, so perhaps this is no great problem for the time being as most users probably aren't interested in manually writing scripts or logging into seamless chat where more advanced scripts might be used.
Regards

thyme - 2018-11-09 06:40:55 in reply to Spruce 2018-11-07 12:09:22

Your Response:          


Hi thyme,
Thanks for the effort. When this new OpenGL ES/SDL version of Seamless3D has a working version, please post, so we can try it. Cheers.

Spruce - 2018-11-09 12:55:03 in reply to thyme 2018-11-09 06:40:55

Your Response:          


Thanks Spruce, it's always much appreciated to have my work tested by others.
Already more than a week has passed since I last posted but I am happy with the progress made.
I am now able to orientate, pan and zoom the view, drag control points and have got the GUI rendered in OpenGL. I am delighted to see many of the toolbar buttons already functioning however it does not take much to crash it as there are still some major features left that will attempt to call some DirectX function when used.

Will continue to work each day getting more of the features working.
Will keep you updated.
Cheers.

thyme - 2018-11-20 06:58:25 in reply to Spruce 2018-11-09 12:55:03

Your Response:          


More than 2 weeks have passed since I last posted so its time for another update.

I have got the OpenGL version to the stage of letting me use it for my daily art sessions but it's not quite ready for the public.
For example there is no caret implemented yet so most would find it hard to know where they are typing characters when saving a file with a new name. Such a feature may take only a day or 2 to add but there are a number of other small essentials and legacy features yet to be dealt with.

Although I do not create skinned models these days, as NURBS animation makes this somewhat obsolete, I want to keep this feature in seamless so I have taken some time to learn how skinning is done using OpenGL programmable shaders.

I have recently made a WinAPI version, not to replace the SDL version, just to make it easier for the time being to make a usable OpenGL version of Seamless.

regards

thyme - 2018-12-08 06:36:32 in reply to thyme 2018-11-20 06:58:25

Your Response:          


Hi thyme,

How is your OpenGL version going? When will it be available for us to download and further work on? I plan to use OpenGL version of Seamless3D to develop some industrial design software toolkit.

Regards,

Spruce - 2019-01-09 15:29:44 in reply to thyme 2018-12-08 06:36:32

Your Response:          


Hi Spruce, I could upload it now if you want to test it out. I like to think it is up to the stage where it can keep up with all the step by step tutorials written for Seamless3d 3 but it needs a bit more work to make it as stable as the direct X version.

Regards,

thyme - 2019-01-11 05:07:04 in reply to Spruce 2019-01-09 15:29:44

Your Response:          


Hi thyme,

That is great. Many thanks. Please upload the source code, so I can rebuild the program and test it, meanwhile working on my project using your code (assume it is still under MIT license). Also, what development environment do you use to develop this OpenGL version?

Regards,

Spruce

Spruce - 2019-01-11 14:20:23 in reply to thyme 2019-01-11 05:07:04

Your Response:          


Yes all the code I have written remains under the MIT licence Spruce and to my understanding all of the code Seamless3d is dependent on such as the glew, zlib and lpng are under a similar and compatible license.
Before uploading I decided to tidy up the location of the dependent files to simplify the instructions and help account for all the dependencies. I have tested everything I have uploaded downloads and compiles for both debug and release mode. I would much like to know if all compiles OK for you as this would verify I am not referencing any files that only exist on my computer.

I am using Visual Studio 2017 in Windows 10 to compile.

The source code and info on compiling the code can be found here:

http://seamless3d.com/download/compile-source-ogl.html

Let me know if you run into any problems.

Best of Luck

thyme - 2019-01-13 14:40:27 in reply to Spruce 2019-01-11 14:20:23

Your Response:          


Hi thyme,

Just let you know that I have downloaded the files and successfully rebuilt them in Visual Studio 2017. I will let you know if I find problems or have questions, when I do my project using your code. Hopefully 64bit version will come soon.

Many Thanks!

Spruce - 2019-01-16 18:22:46 in reply to thyme 2019-01-13 14:40:27

Your Response:          


Thanks for the feedback Spruce, it's much appreciated.
Since uploading I have been busy working on getting it to compile for 64 bit code. By removing the do_operation.asm file and fixing the script.cpp file to deal with this change, I had little problem (ignoring 1000s of warnings) getting it to compile and run in 64 bit mode. I have since managed to get the do_operation.asm file to compile for 64 bit code but getting the assembly code to work as it should for the built in compiler has proven to be more challenging, as I am having to relearn code I have not looked at in a while and I am learning 64 assembler at the same time. However I am hopeful to have a 64 bit version able to follow my step by step animated character tutorial very soon.

Regards

thyme - 2019-01-21 23:18:53 in reply to Spruce 2019-01-16 18:22:46

Your Response:          


Hi thyme,

How is your progress on 64bit version? When do you expect to make it available? My project using your 32bit OpenGL version is going well. Thanks.

Cheers,

Spruce

Spruce - 2019-02-21 10:41:57 in reply to thyme 2019-01-21 23:18:53

Your Response:          


Hi Spruce, good to hear your project using Seamless3d code is going well. Since I last posted on this thread, I have got seamless scripts able to compile and run for the 64 bit version. The user should now be able to follow any of the animation tutorials for Seamless3d 3 running in 64 bit mode but I am continuing work on the script compiler because there still remains many warnings related to the 32 bit to 64 bit assembly conversion that need to be addressed for more advanced seamless scripting.
Hoping this wont take many more weeks but if you need the 64 bit version now, I can upload where I am up to.

Cheers,

thyme - 2019-02-22 06:06:36 in reply to Spruce 2019-02-21 10:41:57

Your Response:          


Hi thyme,

Thanks for your reply. If possible, could you upload your current 64bit version, so I can work on my project based on it instead of 32bit version? In my project, only part of those scripts are needed.

Many thanks.

Spruce

Spruce - 2019-02-22 13:04:27 in reply to thyme 2019-02-22 06:06:36

Your Response:          


Ok Spruce I have uploaded the 64 bit version. You can download it from the same page I previously uploaded the 32 bit version to:

http://seamless3d.com/download/compile-source-ogl.html

Best of Luck

thyme - 2019-02-24 07:13:05 in reply to Spruce 2019-02-22 13:04:27

Your Response:          


 

Main Forum

 


[3d Modelling Software] [Tutorials] [Forum] [Features] [Download] [Gallery] [FAQ] [Worlds] [Avatars] [Links] [Thyme]

v:1