What is the best approach to Protect webgl assets - three.js

We are using WEBGL to render OBJ models . What is the best approach to protect these assets.
or at least make it difficult for someone to pull out the obj mesh . source.
There has been few threads discussing this issue but most of them confined to rudimentary ways like disabling right click on browser etc.
Any suggestions please

The "best" approach is to write your own file format. The user aiming to read your files will then have to find the loading code in your minified code.

What's the best approach on any other platform? I can stick the CD or DVD from any console game in my PC and read the files directly off the disc. I can look at any files installed on my PC games. I can back up the apps on my iOS or Android devices and read those files on my PC. What do you expect to be different in WebGL?

Related

How to detect location/place type from the image?

I have a web application where user uploads the images of their locations. I want to write a program to detect the type of location and list of objects from the image. I write a program in C# using alturos YOLO to detect objects in the image. The result is fine for me but the problem is i want to detect the place type from the image. Like, if you upload some image that has snow then it should detect the "Snow" keyword. If you upload the "Lake" image then it should show keywords like "Lake, water, river etc". I am a web developer and never done any Machine Learning or image processing thing. But i am keen to learn this. Is there any way to do this or anyone can tell me the right path to do this.
I found this "https://www.clarifai.com/" but i want to write my own code because i have large number of images.
All in all, I'm pretty sure that there's no single correct answer to this. You could implement image recognition in a hundred different equally correct ways using different tools. So here's my opinionated perspective. Anyone and everyone is free to agree/disagree with what I'm saying.
I've worked a bit with Open CV (Python) in the past. There are a great number of libraries available based on it, so you can probably find a working base to build off of. I think that it should be capable of doing the task you specify, although I'm not quite sure how it would be done.
The other framework for machine learning and object recognition that I have seen is Apple's Create ML/ Core ML system (Swift or Objective-C). My experience with that one is as limited as cloning a git repo and poking around inside, but it looks pretty powerful.

Creating a game launcher

I would like to make a simple program that will be able to download and keep the files up to date. It will also need to start a .exe file to run a game.
So the question is what language should be used? I know different languages will have different pros and cons.
I have not been able to thing of a way to be able to download the files then when a update does come out update them?
This is just about updating a folder with documents and game files that needs to be synchronized.
I personally haven't done anything like this, but I would suggest looking into c++ as your language. Whenever the game loads up you can do a phone home request where the updated files are and check if the user's copy is up to date. When it comes to updating files you will need to learn some network programming. I don't know if this helps, but C and C++ are very good languages to start with.

interactive Augmented Reality 3D drawer

I'm planning on doing an interactive AR application that will use a laser sensor (for distances), GPS technology to get a location, and then use compass/gyroscope for tracking 6DOF viewfinder
movements. The user can choose from a number of ready-made 3D-models, and should be able to place them by selecting the desired location on the screen.
My target platform will be a 8"-handheld-device, running on windows8.
Any hints what would be the best AR-SDK or 3D-viewer to work with?
thanks in advance!
There are quite a few 3D viewers that are working in the browsers. But most recently and most notably: va3C viewer
It is webgl based app and doesnt require a server, so if your handheld device supports webgl, then you are good to go, however, whether it works on IE or not is questionable ;).
Although based on my experience and your usecase, I believe client side JS libraries do not provide enough access to the device's hardware. So you might have to serve the information like GPS, Gyroscope, from the server side, then gather this on the client using something like socket.io and then mash it up alongside the geometry.
I am trying to do something similar, although havent quite done it yet. Will keep you posted.
Another approach I am exploring is X3DOM, which gives the ability to write 3D data like XML alongside HTML, which is quite declarative and simple to pickup. X3DOM derives from X3D.
Tell me if you need more info.
Also, worth exploring for its motion abilities, is Robot Studio, which is a desktop app with SDK.

Best way to access web camera in Java

I need to access web camera using Java. This is what I want to do
Access web cam
Now the user can see web cam working because his face is visible on screen
(have heard some libs are there which doesn't show the video output of webcam)
when user click save button, take a snapshot and save it
I have tried number of ways to do this, from a long time.
JMF - Now it is dead
FMJ - Now it is dead too
VLCJ - too much because I am not creating a music/video player and it expect VLC to be installed
Xuggler - too much and hard work
JMyron - didn't work
JavaFX - I thought it could do it, but seems like it can't
I am even satisfied if the library is just ONLY doing the above mentioned, because that's enough for me. But I expect it to be simple too. Really great if it is not using DLLs, because it is not platform independent if it does. Really appreciate if it can DETECT the camera, without manually passing the camera name and other info as have do in VLCJ (because there might be thousands of camera brands, so I can't create a list of thousand elements in it). And, I am creating a desktop application, not web app.
If you know a library like this, please be kind enough to let me know. Other libraries (which might not suit to all of my requirements, but suits to the basic requirement) also welcome. Please help
I think the project you are looking for is: https://github.com/sarxos/webcam-capture (I'm the author)
There is an example working exactly as you've described - after it's run, the window appear where, after you press "Start" button, you can see live image from webcam device and save it to file after you click on "Snapshot" (source code available, please note that FPS counter in the corner can be disabled):
The project is portable (WinXP, Win7, Win8, Linux, Mac, Raspberry Pi) and does not require any additional software to be installed on the PC.
API is really nice and easy to learn. Example how to capture single image and save it to PNG file:
Webcam webcam = Webcam.getDefault();
webcam.open();
ImageIO.write(webcam.getImage(), "PNG", new File("test.png"));

Using version control (SVN) for images

We have images stored in a file system in the following format. So that web applications can have access to those images with url (http://imageserver.domain.com/items/it1/small.jpg) through an http server.
Now, to allow graphics team to have access to those images for
adding/updating, I was thinking to setup an SVN rep for the folder
“items”. Is this considered a best practice? Any suggestions?
Its certainly doable, however I'd advise that you have 2 folders: one containing a "working set" of images to be used by your web app, and another to be accessed by your graphics team whenever necessary. That way, your team can have a stock of images to work with, while avoiding any possibilities of broken image links or other problems inside your web app.
Better to play it safe IMO.
Hope this helps!
I've always heard that it's considered 'good practice' to have only text under source control. With that said, I've seen companies certainly put images in their repository. Others have created round-abouts like having a virtual directory in IIS point to a shared file server. I prefer the latter since it doesn't take so long to bring down branches. On the reverse side, it provides no historical data that SC would--if needed, of course.
I was thinking to setup an SVN rep for the folder “items”. Is this considered a best practice?
It's an acceptable practice. The images are small and not all that likely to change.
Any suggestions?
Write a cheat sheet for your graphic artists so that they can check out and commit images without problems. The cheat sheets would be specific to the graphic tools they use and their access to Subversion.

Resources