Giter VIP home page Giter VIP logo

webglstudio.js's Introduction

WebGLStudio

WEBGLSTUDIO IS IN A MIGRATION PROCESS TO A NEW REPO. STAY TUNNED

WebGLStudio.js

WebGLStudio.js is an open-source, browser-based 3D graphics suite. You can edit scenes and materials, design effects and shaders, code behaviours, and share your work - all within a browser using standard web technologies.

Some important WebGLStudio.js features:

  • A full 3D graphics engine (LiteScene.js) that supports multiple lights, shadowmaps, realtime reflections, custom materials, postFX, skinning, animation, and much more.
  • An easily extended, component-based system for controlling the rendering pipeline and interaction event hooks
  • An easy to use, what you see is what you get (WYSIWYG) editor that provides a single interface for all coding, graph compositing and timeline features.
  • A graph editor for controlling behaviours, shaders and post-processing effects, using LiteGraph.js.
  • Supports the LiteFileSystem.js, a virtual file system that allows drag-and-drop storage of resources on the web, with configurable quotas, users and shared folders.
  • Export and share your work by sending a single link.

For more information, visit http://webglstudio.org

Interface

Features missing:

  • Mesh editing, you cannot select faces and move them
  • Support for FBX, it has some sort of support but not fully functional
  • Physics

Installing

To install WebGLStudio.js, copy the editor files to your server, then install LiteFileSystem.js into a fileserver/ folder within the editor/ directory. LiteFileSystem is a library that handles remote file storage. For more information, see the /INSTALL.md file and the LiteFileSystem.js documentation.

Feedback

Send all feedback to [email protected]

webglstudio.js's People

Contributors

b1skit avatar dasilvacontin avatar jagenjo avatar theknarf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

webglstudio.js's Issues

problem in creating an account

Thanks but when I am trying to create an account of me in the server , its saying problem undefined.. PFA the screenshot of the above mentioned issue.
screen shot 2017-11-26 at 1 28 30 am

Remove libraries from repo

Good choice moving to git!

Ideally, there wouldn't be a need to commit files that aren't part of the project itself, such as all these library files.

Using front-end package management like bower could allow you to remove these from the project and only commit the code that'd directly related to webgl studio. You'd only need to maintain a list of dependencies.

transparent background

Hi!

Congratulations to WebGLStudio! Very impressive work!

Is it possible to make the background of a scene transparent? I want to composite 3d object I am building with WebGLStudio on top of web pages.

Hubert

Docs

Where are the docs?

[QUESTION] How to understand your project?

Good night:

I am currently studying graphic computing and saw your WebglStudio project.
I saw that it was Open Source and I would like to start studying it, however my computer graphics knowledge is still very poor. Do you have a book or reading that you can recommend to understand more about your project or graphic computing?
Thank you

How to loop/auto-rotate a node?

How can I implement loop/auto-rotate on a node?

I tried adding Camera Controller however it didn't work?

I want a node to be auto-rotateable unless the user interacts with the scene. Once the user interacts (like click, key press, etc) with the scene it must stop rotation temporarily and restart once the user ends/releases the interaction with the scene.

Embed code example

Hello, i need a embed code example of a ready scene to publish on a website. How to ? thanks

Problem in loading .obj file

After saving a scene with .obj files in local , when trying to load the scene , .obj files resources not getting loaded for which I am just getting a point on the screen not the entire mesh, texture nothing. May I know why ? Please help me asap..

Problems with 3D Scan meshes

Hello, when try to open 3D Scan .obj meshes ( high poly ), the system not show the object correctly. I tried with a lot of different models. You can use one of my models here: [https://sketchfab.com/magadan/collections/facade-pack]

Problem example: http://i.imgur.com/X6GRpl8.jpg

Consider making a video documentation of the editor (GUI)

Currently there are not enough documentation that one finds about the editor (GUI). The editor is vast and has too many great options, exploring it is not easy but getting lost inside the editor is easy. Hence, requesting you to consider making a video documentation about using the editor. Here one can explain about things such as the Graph editor, GPU, Publishing, Player, Configuring these, various options it has, etc.. This would be helpful for students and especially people who are new to the subject.

Missing LICENSE?

First, the standard disclaimer: I am not a lawyer, and this does not constitute legal or financial advice.

Generally, IMHO, it is a good idea to use FSF or OSI Approved Licenses (which can be found here https://www.gnu.org/licenses/licenses.html and here http://opensource.org/licenses/category)

The Free Software Foundation has a useful guide for choosing a license: https://www.gnu.org/licenses/license-recommendations.html

I often reference the Software Freedom Law Center's Legal Primer for both practical and academic purposes (highly recommended): https://www.softwarefreedom.org/resources/2008/foss-primer.html#x1-60002.2

https://tldrlegal.com/ is quite a useful resource for comparing the various FOSS licenses out there once you have some context

To get ahold of actual lawyers/advisors who help FOSS projects, you can reach out to the FSF, SFLC, and OSI at:
[email protected]
[email protected]
[email protected]

Hope this helps, and happy hacking!

Proposal: Export to gltf format?

Exporting to obj is good, but doesnt include all the great rich features that your application is capable of, embedding shaders, keyframe animations etc. To me this seems quite a big deal breaker from inclusion of other users. At the moment I have my own engine, proposal to adjust the json you export into a common format like gltf, seemingly very similar would allow others not using the LiteScene.js. Such a great tool, youve done incredible work and the best implementation of a 3d editor on web out there, but cant use it given its output.

Materials, difficult to setup ?

Hello Javi, i dont know if im doing the right procedure to create materials. I want to ask if is possible to explain about material creation and setup to 3D objects with a easy video. When i create materials, the file dont go to the fileserver... My suggestion, Im thinking this workflow can be more easy.

For example, its a required to have a 3D object to create a material file ?

cardboard / webvr

anybody did any experiments for (stereoscopic) cardboard headsets?

[Feature] ability to edit 3D meshes

We are researching 3D editors for WebGL that allow users to create and edit 3D meshes. E.g. we would like to be able to do things like move edges/verticies, divide faces, etc.

After adding a default cube, how do I edit its mesh?

how to change color of particles

It seems that the property "start color" and "end color" of ParticleEmissor component are not working in
webglstudio. Please fix this.

Does WebGLStudio support installation on Windows?

Does WebGLStudio support installation on Windows?

I tried installing LiteFileServer but it was failing, since it was calling a POSIX function which isn't supported by Windows. And WebGLStudio is dependent on LiteFileServer.

Hence, please confirm and help to support this installation.

Sample/Example Projects

Would it be possible for a few example projects to be accessible from this Github repo, or the website? I would love to play around with some samples, to get an understanding of what can be made.

Using Gulp

You should consider using Gulp as a build system, removing bash-script dependencies. This will make it easier to build across platforms, and easier for developers only accustomed to JavaScript to develop, build and help improve the application.

Skinninng Warrior example shows black screen in mobile browser

Hi Javi,

Except shadowmaps problem in mobile browser, I also found that the sknning and warrior example have some problem when shown in mobile browser. Please the attached screenshot of my iphone safari browser.
img_3146

Hope you can have time to investigate it and have a quick fix? Thanks a lot.

Regular Expression DoS vulnerability

We are working on the ReDoS problem and detected 4 vulnerable regex(es) from your repository.

1: (\"(\\.|[^\"])*\") in webglstudio.js/editor/js/extra/litegui.min.js
2: (\"(\\.|[^\"])*\") in webglstudio.js/editor/js/extra/litegui.js
3: \*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+ in webglstudio.js/editor/js/extra/litescene.min.js
4: (\/\*([^*]|[\r\n]|(\*+([^*\/]|[\r\n])))*\*+\/)|(\/\/.*) in webglstudio.js/editor/js/extra/litegl.min.js

Please try the following:

var pattern = "(\\\"(\\\\.|[^\\\"])*\\\")";
var input = "\"\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b";
var re = new RegExp(pattern);
var matched = input.match(re);

var pattern = "(\\\"(\\\\.|[^\\\"])*\\\")";
var input = "\"\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b\\\b";
var re = new RegExp(pattern);
var matched = input.match(re);

var pattern = "\\*([^*]|[\\r\\n]|(\\*+([^*/]|[\\r\\n])))*\\*+";
var input = "*\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\b";
var re = new RegExp(pattern);
var matched = input.match(re);

var pattern = "(\\/\\*([^*]|[\\r\\n]|(\\*+([^*\\/]|[\\r\\n])))*\\*+\\/)|(\\/\\/.*)";
var input = "/*\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\b";
var re = new RegExp(pattern);
var matched = input.match(re);

We didn’t create a pull request because we're not sure if these cases are possible to take place in your program, we also do not understand the functionality of these regexes as you do. Thank you for your understanding.

Add `sans-serif` fallback

On linux there is no Tahoma font, so the menu bar looks weird with a serif font. Adding sans-serif as fallback looks much better.

.litemenubar ul {
    font-family: Tahoma, sans-serif;
    margin: 0;
    padding: 0;
}

Before:
before

After:

after

Unable to import 3D model (gltf, glb, obj, fbx) files

I am trying to import 3D model (gltf, glb, obj, fbx) files into WebGLStudio. But it is not importing any file and it is only showing a message "No file imported". I checked the sever has enough memory space.
So far I am only able to import image/picture files (.png).

I also noticed that even the demo page (https://webglstudio.org/demo/) has the same issue. I am guessing for the demo site it must have been done on purpose. However, on independent user systems it should have imported the files.

How to trigger animations on click event using Graph (GUI editor)?

Lets say I have various takes in an animation or I've multiple @scene animations on different nodes of a model.

Using Graph (GUI), lets say I've placed multiple choice component (radio button) and I want to trigger each of these animations based on the choice of the options.

How can I do this using Graph (GUI) ?

how to use three.js component?

Hi all,

I found that there is one component named threejs , sounds like it can support three.js as well.

But when I tried to add threejs component, seems there are some errors and not successful.

Can anyone tell me can I use it or how to use it?

is webXR supported on WebGL Studio?

the threejs editor and nunustudi both have native webXR support now, and seeing how webglStudio is another awesome webgl engine im curious if webXr is or will be supported.

Can webglstudio import GLTF?

Hi,

just wondering if webglstudio can import GLTF and create a scene according to the scene specified in GLTF.

Thank you

Requesting support for gltf, glb

I've noticed that you support obj files only for 3D models. However, gltf and glb are support widely for WebGL. Compared to these, an obj file is heavier as well. Hence, consider supporting gltf and glb file formats as well.

Alternatively, an option to convert obj to light weight gltf/glb files. That way at least the published version will have light weight gltf and glb files.

Problem with shadowmaps in mobile browser

Hi Javi,

Followed the email that we dicussed, there is some problem with shadowmaps in mobile browsers. See the screenshot as below
img_3144
img_3140 2

Hope you can spend time to fix it. Thanks in advance.

Issue while trying to load resources

Hi @jagenjo and all here! I have found this issue: i'm trying to load a resource, for an example, an .obj file in the scene. i select Import File from the Resources Tab -> Import from Harddrive -> ... then a window appears and you can select the file. But when you select the file, nothing happens, file is not uploaded in the scene. The only way that i was able to upload a file was dragging it inside the window, after this my file was within the scene.
I am asking this because me and @ThorstenBux are working on arStudio an editor for Augmented Reality based on webglstudio. We are integrating our format for loading .patt Artoollkit file but we found this issue. We would like to solve this because i think it will make easier to load the resources.

EDIT: this happens in webglstudio.org/demo !!

no_button_action in CameraController of root camera not working

I added a CameraController to the root camera however, when I try to set no_button_action to "Rotate Horizontal" it seems to crash the editor.

I noticed that it is throwing error "Uncaught TypeError: Cannot read property 'set' of undefined" in the update() function in the camera.js file.

Basically value of destination_eye in the following line of code is undefined camera._editor.destination_eye.set( camera.eye );

My intention of adding no_button_action is in the hope that it will rotate the scene on load when the user is not interacting with the scene. Also please tell me whether this understanding correct?

How to add additional interaction with 3d object

Hi,
May be I am stupid to ask this without actually trying your library, but this is something I need to know before I jump in and explore it.
Can we add interaction with 3D objects? for example moving object with mouse or tap, drag-drop, snapping etc?
Please if not add these feature to this fantastic library to make it more fantastic.
Rahul

behaviour vs component

Hi,

I was just wondering: is there any difference between 'add component', and 'add behaviour'?

image

Above you can see a similar script added through both ways.
I was wondering about the differences/philosophy behind the two.

addons vs plugins

what is the difference between addons and plugins (other then one being added thru the add components-popup, and the other thru the 'plugins' menu)?

ps. keep up the awesome work! love extendability of the editor,

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.