Wings 3D Development Forum

Full Version: Wings3D web version
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
https://cdn.rawgit.com/lingochen/wings3d...index.html

Extremely alpha and raw. only test on (Firefox, Chrome)

Currently can only import/export Wavefront obj file.

vertex/edge/face mode works. no body mode yet.

undo/redo works. Extrude, Cut, Connect, functions works too.

I think I am 50% done? (Too much optimism?). The underlying wingedEdge structure is quite robust (I am using halfEdge mostly, half of the wingedEdge).

Reasons to reimplement Wings3D for the web? My goal is to implement a tutorial mode on top of Wings3D. So people can learn to use Wings3D and 3D in general much more easily. Also I believed web is the future for 3D/VR.

Likes to hear all opinions/criticisms.

---------------------------------------
06/12/17 update: support body mode. move, duplicate, rename delete functions.
06/27/17 update: support collapse, dissolve in edgeMode.
06/27/17 update: support Microsoft Edge browser.
(06-04-2017, 12:57 PM)boeingchen Wrote: [ -> ]I think I am 50% done?
I'd say 0.5% done =)
There aren't even any transforms to speak of, there's nothing for selection, and most of the vital modelling stuff is absent (tweak, bevel, connect tool, dissolve, collapse, bridge, etc.).
But I like how fast the viewport is.
I believe transforms are not too hard, just busy works (I could be dead wrong).

bridge and bevel are also relative easy, so I skip implement them for now.

I actually did implement dissolve, collapse as undo of connect vertex and extrude face. but how to undo dissolve and collapse would take a bit more works, so I haven't expose the command yet.

tweak, virtual mirror, are the main things that I think would takes a lot of times. edge loops, texture, lighting, would also takes some more times.

currently I am implementing selection and porting to Microsoft Edge browser.

Thanks. (so, may be 30%+ done)Tongue

PS: My implementation use pointer (link list), and I believe Wings3D use table to implement wingedEdge. Erlang also make redo/undo quite easy, but quite expensive for large model.
(06-05-2017, 02:49 PM)boeingchen Wrote: [ -> ]currently I am implementing selection
That is important. Have to select item by item isn't a great stimulus to someone try your version. It would be useful you make those state buttons work - nobody knows in which selection mode they are working.
Start for the basics of the UI, then start to add the command operations.

Quote:Thanks. (so, may be 30%+ done)Tongue
Too much optimist.


ah! Don't forget some people will like to know about your web version and they will be happy by be able to finally play with Wings3D in a tablet (maybe a smartphone) - but, there is only a problem: they cannot attach a mouse to the tablet/phone and there is no way to get context menus to work. So, maybe you can identify the device and enter in a viewer mode only.

Just something to you take in account. Someone had opened a poll sometime ago: wings 3d for android
boeingchen,
Interesting idea. I tested it with Firefox and it does work. You do have a long way to go but if you can get more things working like they do in the original it might be a good way to introduce new people to Wings3D. The longest journey starts with the first step... Smile

You mention you are working on "selection". I assume it will be possible to deselect with the spacebar when that is finished. If things are too different from the original Wings3D it won't really be Wings3D and people will not be as interested as would be hoped... Smile Sad

oort
(06-06-2017, 02:24 PM)oort Wrote: [ -> ]You mention you are working on "selection". I assume it will be possible to deselect with the spacebar when that is finished. If things are too different from the original Wings3D it won't really be Wings3D and people will not be as interested as would be hoped... Smile Sad
oort

keyboard support is on my todo list, but I am skipping it right now. Current interface is very rough, just enough to function.

My goal is to make the web version as similar to wings3d as possible. My current focus is to prototype the difficult functions first, then fill out the easier functions later.

(06-05-2017, 03:12 PM)micheus Wrote: [ -> ]ah! Don't forget some people will like to know about your web version and they will be happy by be able to finally play with Wings3D in a tablet (maybe a smartphone) - but, there is only a problem: they cannot attach a mouse to the tablet/phone and there is no way to get context menus to work. So, maybe you can identify the device and enter in a viewer mode only.

Just something to you take in account. Someone had opened a poll sometime ago: wings 3d for android

I think we need a different interface for the touch devices tough. Maybe we won't have the full power of Wings3D, but definitely much more than viewer only.
"they cannot attach a mouse to the tablet/phone "

Pretty sure I have attached a mouse to my Samsung Note in past.
Hi!, boeingchen
Wonderful!!,I felt your web version was closer to the feeling operate by Wings3D app.
In my enviroment (Mac),it works fine on Firefox and Vivaldi.
However Safari v10.1.1,I can't make a cube (the dialog not appeared).

For example the console log of Safari that I got is here :
Code:
[Error] SyntaxError (DOM Exception 12): The string did not match the expected pattern.
    querySelectorAll (cubeshape.js:195)
    (anonymous function) (cubeshape.js:195)
    
[Log] WebGL 1 init with extension (wings3d_gl.js, line 34)
[Log] Workspace init successful (wings3d_view.js, line 490)
[Log] Render.init() success (wings3d_render.js, line 535)

[Error] SecurityError (DOM Exception 18): The operation is insecure.
    texImage2D (wings3d_render.js:163)
    onload (wings3d_render.js:163)

Maybe there are still a lot of subjects to be solved.
But Wings3D web version has potential for the flexible extensibility of the User Interface.
I like fast geomerty rendering speed.Biggrin
I'm looking forward to future development.
Cheer!!

P.S
Certainly Android OS can connect Mouse and/or keyboard.
and iOS don't support Mouse but can use keyboard via bluetooth .
(06-08-2017, 02:44 PM)tkbd Wrote: [ -> ]Hi!, boeingchen
Wonderful!!,I felt your web version was closer to the feeling operate by Wings3D app.
In my enviroment (Mac),it works fine on Firefox and Vivaldi.
However Safari v10.1.1,I can't make a cube (the dialog not appeared).

For example the console log of Safari that I got is here :
Code:
[Error] SyntaxError (DOM Exception 12): The string did not match the expected pattern.
    querySelectorAll (cubeshape.js:195)
    (anonymous function) (cubeshape.js:195)
    
[Log] WebGL 1 init with extension (wings3d_gl.js, line 34)
[Log] Workspace init successful (wings3d_view.js, line 490)
[Log] Render.init() success (wings3d_render.js, line 535)

[Error] SecurityError (DOM Exception 18): The operation is insecure.
    texImage2D (wings3d_render.js:163)
    onload (wings3d_render.js:163)

Maybe there are still a lot of subjects to be solved.
But Wings3D web version has potential for the flexible extensibility of the User Interface.
I like fast geomerty rendering speed.Biggrin
I'm looking forward to future development.
Cheer!!

P.S
Certainly Android OS can connect Mouse and/or keyboard.
and iOS don't support Mouse but can use keyboard via bluetooth .

Thanks for the encouragement, and yes, it very easy to create new interface out of html. That one reason I decide to write the web version.

Could not figure out the Safari error, will try to work out some solution later. Buying Mac and test on Safari add to todo list.

New functionality, duplicate, rename, delete, and move whole body obj.

Dissolve, collapse functions next. Selection Group move back a bit.
Quickie Update:

Now, support Microsoft Edge Browser. Safari next, after I obtain a Mac computer.

Some small implementation difference in Collapse function of EdgeMode. Will try to explain it in a different post.
Pages: 1 2