Building Enterprise 3D Web Applications


Duration: 50 mins
Prakash Vadrevu
Tech Lead, ThoughtWorks
Gourav Agarwal
Software Developer at ThoughtWorks

We live in a world where user experience is a key element of web application design. As technology evolves, a 3D interface gives a whole new level of user experience compared to its 2D counterpart. Building such an enterprise 3D web application presents a gamut of challenges. Using Three.js, Webgl and an example of a complex structure like a house with thousands of elements including furniture, plumbing fixtures, etc., this talk aims to present some such challenges and possible solutions:

  • How to get a cross sectional view of the house?
  • How to illuminate an L shaped (apart from regular rectangle / square shapes) room and darken rest of the house?
  • How to identify only the visible furniture in the room from the user's viewpoint to facilitate customisation of furniture?
  • How to deal with memory constraints in browsers while rendering such huge 3D models?

You may also be interested in

25 mins
Proper Care and Feeding of Junior Developers

Junior Developers require more than just a first job; they need help, and they need it from YOU. Just as...

50 mins
On Being an Effective Developer

As developers we not only operate in different contexts, but also often have these different contexts interplay as part of...

30 mins
Up Your Engineering Game: Adopting the Good Parts of Startup Culture

We all know the hallmarks of startup culture: “act first, apologize later,”  “work hard, play hard,” "growth, growth and more...

25 mins
Pull My Code: Effective Code Review

We need to talk about code reviews. Having a strong, effective code review process is the key-stone of quality, culture, learning...

50 mins
Principles of Productive Software Developers

When working as a software developer, as well as in any other job, it’s important to be productive and to...

180 mins
Design Principles for the Effective Developer

How many design patterns and principles can you name as developer? Are they important? Should we not rather focus on...