PROJECT IDEATION AND EARLY RESEARCH
My journey into the world of Three.JS started approximatley one year prior to developing my final year project. I was looking for inspiration and potential technology that I could utilize in the development of my project. Whilst browsing numerous coding communities, I stumbled across an interesting site named chromeexperiments. This site is hosted by Google and effectively acts as a service through which the creative coding community can showcase their work with WebGL related concepts.
After viewing numerous example projects from the Google Chrome Experiments team, I was instantly inspired to learn and discover more about the technology. Following this I decided that my final year project would be a browser based 3D interactive experience. I therefore spent the majority of my “year in industry” researching the subject, enrolling on tutorials and analysing examples from the coding community.
After numerous weeks researching the subject, it soon became clear that the THREE.JS library created by a developer known as “Mr.Doob” has become the clear choice within the industry in order to simplify the traditional WebGL workflow. As a result, I adopted the Three JS library and started to develop numerous mini-projects that tested various areas of the libraries functionality. This ranged from simply developing a rotating 3D cube example to importing 3D test models from Maya.
Through this early research, I was able to develop a foundation knowledge of 3D browser concepts with WebGL. Moreover, I also expanded my expectation of what the library could potentially deliver through functionality such as imported 3D models and animations.
Three.JS is an innovative library that simplifies the process of coding 3D browser graphics via a technology known as WebGL. In turn, the ThreeJS website demonstrates numerous examples and functionality achieved through using the library. Perhaps the most useful resource I have found so far have been the set of examples provided directly by ThreeJS. Using these examples, I have both been able to download, analyse and edit the related source code, therefore enabling me effectively learn the details of the library.