3D Modeler for Icaros

miker1264 · 20613

salvatore

  • Guest
Reply #45 on: June 26, 2019, 02:07:13 AM
Great :D

thank's Miker



miker1264

  • Legendary Member
  • *****
    • Posts: 1827
    • Karma: +84/-6
Reply #46 on: June 28, 2019, 12:15:46 PM
I have started the Modeler part of the RayStorm project. I'll work more on it this weekend to get the Main Window with a RayStorm menu system up and running.

It will just be a simple Project Window and menu to load a scene and render it. It's just a proof of concept to test the rendering engine on AROS.

After I'm satisfied that the renderer works I'll focus on making the User Interface more User Friendly while adding the rest of the original functionality and that also involves MUI code.



salvatore

  • Guest
Reply #47 on: June 28, 2019, 12:25:19 PM
well :)



miker1264

  • Legendary Member
  • *****
    • Posts: 1827
    • Karma: +84/-6
Reply #48 on: June 29, 2019, 01:59:16 PM
Here is a Conceptual Layout for the Updated User Interface for RayStorm Studio (AROS version).

The Image Buttons at the top are inspired by MUI Sample "The Bar". The ButtonBar Menu at
right is inspired by Lightwave 5.0 & 5.6. The StatusBar is from RayStorm Scenario (Amiga version).

I'm designing a colorful About Box for RayStorm as well that gives credit to the original authors.

The first step is to setup a test for the Rendering Engine (Scenario?) by Loading a Scene & Rendering.
When I'm sure the Renderer works as expected then I can focus on menu items & the user interface.



salvatore

  • Guest
Reply #49 on: June 29, 2019, 02:29:19 PM
great work on your part thanks, very nice layout of the program,I hope to be mentioned in the contributors :D
« Last Edit: June 29, 2019, 02:41:22 PM by salvatore »



miker1264

  • Legendary Member
  • *****
    • Posts: 1827
    • Karma: +84/-6
Reply #50 on: June 29, 2019, 03:59:56 PM
great work on your part thanks, very nice layout of the program,I hope to be mentioned in the contributors :D

For sure. I've already considered that.

Credit and aknowledgements will be given.



miker1264

  • Legendary Member
  • *****
    • Posts: 1827
    • Karma: +84/-6
Reply #51 on: June 30, 2019, 03:14:54 AM
After reading through the source for RayStorm I've discovered a few interesting things. I've also found the elusive "Golden Ray" of Ray Tracing.

First, the Project File (.scn) is actually an IFF File much like an IFF-ILBM. It's perhaps an IFF-RSCN. That makes it easier to find the chunk id's and chunk data. Second, inside the Preview.cpp module are several helper functions and two main functions called RenderLines which should be "RenderLine" since it renders one ScanLine, and CalcPixel which does what it's name implies.

These two core functions using intense mathematics translate al the data from 3D objects, surfaces, textures, reflection maps, lighting intensities, and camera angles into 2D pixel data for each rgb pixel of each scanline.

In addition to that I noticed that the style in which the program is written lends itself more to being converted to C# code than anything else. Like C# it uses Classes, Threading, BackGround Workers, Timers for Elapsed Time, Event Handlers, Callback Functions for ProgressBars, and Passing Data between Forms which in RayStorm are Window Classes. Just an interesting observation about the similarities between C++ and C#.

To summarize, if you aren't a programmer, let's just say I found some really cool stuff. ;)



salvatore

  • Guest
Reply #52 on: June 30, 2019, 03:50:58 AM
interesting, I hope it is a work appreciated by all and a native program and this makes it even more palatable, thanks miker :D



miker1264

  • Legendary Member
  • *****
    • Posts: 1827
    • Karma: +84/-6
Reply #53 on: June 30, 2019, 12:49:16 PM
Here is the new AROS RayStorm Splash Screen.

The purpose of the Splash Screen is to allow the user to start
a new project, open an existing project, show version text, or
more importantly choose the program windows size to match
the screen size being used. It's also an improvement on the
original RayStorm Logo seen at the bottom of second image.



wawa

  • Senior Member
  • ****
    • Posts: 265
    • Karma: +55/-0
Reply #54 on: June 30, 2019, 02:27:32 PM
id wait with this till the app can deliver some proper results and showcase it here, like back lighted aros logo type with some volumetric lighting.



salvatore

  • Guest
Reply #55 on: June 30, 2019, 02:36:59 PM
good miker, I don't have any words for the work you're doing and you're a great programmer :),I like to read the evolution and progress of the porting :D
« Last Edit: June 30, 2019, 02:50:18 PM by salvatore »



salvatore

  • Guest
Reply #56 on: June 30, 2019, 02:53:13 PM
@wawa miker told me that it takes at least two months to complete the program, now a little less ;)



miker1264

  • Legendary Member
  • *****
    • Posts: 1827
    • Karma: +84/-6
Reply #57 on: June 30, 2019, 06:23:38 PM
wawa is correct.

Making the program work will be the hard part. The extras will come later.

My first language is C# and so C code, C++ are my second languages.

Sometimes I struggle with the simplest things in C/C++.

I have been using C# in Visual Studio for about 10 years. I have built some complex programs with C#
including some ILBM Viewers, Icon Editors, and a complex Disk Image Explorer for use with VirtualBox.

I just now struggled to compile a simple MUI program, till I discovered the ease of using gcc.
I was using AmiDevCPP, but it simply refused to compile MUI code! So I switched to gcc & oh how nice!!

wawa, maybe you could help me to set up a gcc/g++ crosscompiler toolchain for Linux Mint, or Ubuntu?
will a script set it up for me? Where do I get all the AROS include files? Can I compile for Icaros Desktop directly, or are the includes 64bit?

Now I'm compiling a few more MUI applications & write a few, then I can start setting up a MUI-based user interface.



salvatore

  • Guest
Reply #58 on: June 30, 2019, 07:01:44 PM
Miker this is a scrip for linux but maybe you have bin ubuntu 14 lts

http://archives.aros-exec.org/index.php?function=showfile&file=development/cross/scripts.zip

Setup of VM

Starting from a base installation of Ubuntu 14.04.5 LTS 32 bit Server execute following commands:

sudo apt update
sudo apt install -y unzip

#Packages metioned in gimmearos.sh
sudo apt install -y subversion
sudo apt install -y git-core
sudo apt install -y gcc
sudo apt install -y g++
sudo apt install -y make
sudo apt install -y gawk
sudo apt install -y bison
sudo apt install -y flex
sudo apt install -y bzip2
sudo apt install -y netpbm
sudo apt install -y autoconf
sudo apt install -y automake
sudo apt install -y libx11-dev
sudo apt install -y libxext-dev
sudo apt install -y libc6-dev
sudo apt install -y liblzo2-dev
sudo apt install -y libxxf86vm-dev
sudo apt install -y libpng12-dev
sudo apt install -y gcc-multilib
sudo apt install -y libsdl1.2-dev
sudo apt install -y byacc
sudo apt install -y cmake

#Additional requirement to compile (not mentioned in gimmearos)
apt -y install libgl1-mesa-dev xorg-dev
apt -y install cmake
apt -y install gperf
apt -y install libswitch-perl

apt -y install texinfo
apt -y install uml-utilities

apt -y install vnc4server
apt -y install ruby
apt -y install ruby-dev

#Packages required to run AROS
dpkg --add-architecture i386
apt update
apt -y install libxcursor1:i386
apt -y install libxxf86vm1:i386

#Optional: install xorg and openbox
apt -y xorg openbox

# Change X11 resolution
# xrandr --output VGA-0 --mode 1280x960

this is a configuration for compile owb by user ch1ll



miker1264

  • Legendary Member
  • *****
    • Posts: 1827
    • Karma: +84/-6
Reply #59 on: June 30, 2019, 07:59:53 PM
salvatore,

Thank you. Just what I needed

I can now compile MUI code using gcc in AROS. This sample is called
TheBar. So now I have a good start on the user interface and I will
follow the mockup as closely as possible.

I'll update the GUI for the MainWindow_Class adding the existing
menu items from RayStorm. I'll use the MUI_Drawing Area with DISPLAY_Class
to set up the (Empty) Quad-View. Now things are moving along.

I should have a real working (somewhat) user interface by the end of this week. :-)
t