Jump to content

Recommended Posts

Hi guys,

After some previous attempts to solve some problems in our project, we saw that we were not getting anywhere :( so we decided that we needed a professional help.
This is the offer we published on the Upwork platform, so if anyone is seriously interested in completing the job, please contact us.
This is the text of the offer: 
Representation of a snow-covered mountain scene in Babylon.js Engine

The task consists of representing a snow-covered mountain landscape with forest and water bodies in Babylon.js.
The focus has to be made on the visual attractiveness while still offering high performance.
An example of a scene like that would be this one (Scene1),  made in Three.js.

We are providing a basic scene (Scene2) made in Babylon.js, and the following improvements have to be made to this scene:

1) Implementing a GLSL Shader / Babylon.js Custom Material which accepts the following criteria:
    Terrain Texture:
        - Rocks: should be a procedural texture with a nice natural transition between the snow and the rock texture like in the Scene1.             
        - Water: should be the WaterMaterial provided by Babylon.js Material library.
        - Snow: it is already acceptable in the Scene2, but any visual improvement is welcome.
    If needed, the mask image for the texture mapping can be also provided as three separated alpha mask images, one for each type of texture.
    Furthermore, it has to support a Dynamic Texture on top of the Terrain Texture, so that it should be possible to draw directly on the ground. 
    An example of this would be this scene (Scene3), implemented with ShaderBuilder :    
    The problem with this scene is that it lacks bump maps, fog and shadow effects.
    There should be visual consistency across the most popular browsers: Chrome, Firefox, Edge and Safari.

If you have any questions, we're ready to answer them. :)

Link to comment
Share on other sites


A simple job... just a few hours. If I was certain I had time, I'd throw my hat in the ring. But I'm hoping you already have quite a few qualified devs. in the que. Just make certain that whomever Developer you chose knows how to capture a single touch event by passing touch events to an array and only using the first posX and posY in a 'touch_array'[0] - and to completely avoid using FillRect() except in clearing the canvas - or you'll be forced to write two seperate apps; one to draw on touchscreens and one to draw with a mouse, as fillRect() won't remotely accomplish both.

However using:

      ctx.fill(); following with ctx.beginPath();  and  ctx.closePath(); 

will allow you to draw with both your touch events and your mouse events on all hardware,  in all browsers, and OS. I just went through this, and after several dozen "seasoned" developers on sites such as stackoverflow told me it was not at all possible to draw using both touch and mouse events in a single app, I found out they were very mis-guided. So just make certain that whomever developer you chose is familiar with capturing touch events and filling paths to draw, or you'll be writing more than one app., and spending far more budget than necessary. There is a bit more math needed to accomplish this, but it's not difficult stuff - and so many devs will either tell you this cannot be done or will spend countless hours trying to figure out what I'm even talking about. However, this should be a cakewalk.


Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...