WebGL Developer Assignment
Objective: The purpose of this assignment is to evaluate your ability to develop an
interactive and optimized WebGL experience using Three.js, Babylon.js, or raw WebGL. This
task will test your technical proficiency, problem-solving skills, performance optimization
techniques, and ability to create interactive 3D web applications.
Task: Build an Interactive WebGL Experience Develop a small-scale interactive 3D scene
using WebGL, where users can interact with objects and navigate the environment smoothly.
The experience should include lighting, animations, and at least one advanced feature.
Requirements:
1. 3D Scene Setup & Object Interaction (Basic)
● Create a WebGL scene with a structured layout (e.g., a small 3D room, open
landscape, or futuristic environment).
● Include at least 5 interactable objects with actions like rotating, scaling, dragging, or
clicking.
● Implement realistic lighting and material effects for better visual immersion.
2. User Interaction (Core Feature)
Implement at least one of the following interaction techniques:
● Mouse & Keyboard Controls: Allow movement and object interaction using
standard inputs.
● Touch-based Interaction: Enable drag, pinch-to-zoom, or tap interactions for mobile
users.
● Physics-based Interaction: Objects should behave realistically when manipulated.
3. Performance Optimization (Essential)
● Ensure smooth performance (minimum 60 FPS on modern browsers).
● Optimize assets, textures, and rendering settings.
● Implement level of detail (LOD), occlusion culling, and efficient shader usage.
4. Bonus (Optional, Extra Points)
● Basic Multiplayer: Allow multiple users to interact in the same 3D scene
(WebSockets, WebRTC, or Firebase).
● AI-driven Object Behavior: Objects react dynamically to user inputs or
environmental changes.
● Blockchain Integration: Load a 3D NFT asset dynamically from a blockchain API.
Technology Requirements: Choose one of the following technologies for implementation:
● Three.js
● Babylon.js
● Raw WebGL with GLSL Shaders
● WebGPU (Optional for advanced users)
Submission Guidelines:
🔹 Deliverables:
● Project Files: GitHub or Google Drive link.
● Demo Video: (2-3 minutes) showcasing the WebGL experience.
● Documentation (1-2 pages) covering:
○ Technologies & tools used.
○ Challenges faced & how you solved them.
○ Performance optimization techniques applied.
🔹 Deadline: 48 hours from assignment reception.
🔹 Submission Method: Email everything to [email protected] with the subject:
"WebGL Developer Assignment – [Your Name]"