Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
chofor-cliford committed Jul 10, 2024
0 parents commit 1cbbdec
Show file tree
Hide file tree
Showing 48 changed files with 4,537 additions and 0 deletions.
18 changes: 18 additions & 0 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
module.exports = {
root: true,
env: { browser: true, es2020: true },
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:react-hooks/recommended',
],
ignorePatterns: ['dist', '.eslintrc.cjs'],
parser: '@typescript-eslint/parser',
plugins: ['react-refresh'],
rules: {
'react-refresh/only-export-components': [
'warn',
{ allowConstantExport: true },
],
},
}
24 changes: 24 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
dist
dist-ssr
*.local

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
78 changes: 78 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# 3js_roadmap 🚀

Welcome to my 3js_roadmap! This repository outlines my journey to mastering 3.js, the JavaScript library for creating stunning 3D graphics in the browser. Follow along as I explore the basics, dive into advanced techniques, and build exciting projects.

## Table of Contents 📑
- [Introduction](#introduction)
- [Why 3.js?](#why-3js)
- [Roadmap](#roadmap)
- [1. Getting Started](#1-getting-started)
- [2. Basic Concepts](#2-basic-concepts)
- [3. Advanced Techniques](#3-advanced-techniques)
- [4. Projects](#4-projects)
- [Resources](#resources)
- [Contributing](#contributing)
- [License](#license)

## Introduction ✨
3.js is a powerful tool for creating 3D graphics on the web. This project documents my learning process, including tutorials, resources, and projects. Whether you're a beginner or looking to deepen your understanding of 3.js, I hope you find this roadmap helpful.

## Why 3.js? 🤔
3.js simplifies the process of creating 3D content for the web, offering:
- Easy-to-use API
- Wide browser support
- Extensive documentation and community support
- Integration with WebGL for high-performance graphics

## Roadmap 🛣️

### 1. Getting Started 🏁
- **Set Up Development Environment**
- Installing Node.js and npm
- Setting up a basic project structure
- **Hello 3.js**
- Creating your first 3D scene
- Understanding the basics of rendering

### 2. Basic Concepts 🔍
- **Geometry and Materials**
- Working with different geometries
- Applying materials and textures
- **Lighting**
- Different types of lights
- Effects of lighting on materials
- **Animation**
- Basics of animation in 3.js
- Using the AnimationMixer for complex animations

### 3. Advanced Techniques 🚀
- **Shaders and Effects**
- Introduction to shaders
- Post-processing effects
- **Performance Optimization**
- Techniques to improve performance
- Profiling and debugging
- **Interactivity**
- Handling user input
- Creating interactive scenes

### 4. Projects 🛠️
- **Project 1: Solar System**
- Simulating a solar system with orbiting planets
- **Project 2: Interactive Art**
- Creating interactive 3D art pieces
- **Project 3: Game Development**
- Basics of 3D game development with 3.js

## Resources 📚
Here are some resources that I found helpful during my learning journey:
- [Three.js Documentation](https://threejs.org/docs/)
- [Three.js Fundamentals](https://threejsfundamentals.org/)
- [Learn Three.js](https://discoverthreejs.com/)
- [Three.js Examples](https://threejs.org/examples/)

## Contributing 🤝
Contributions are welcome! If you have suggestions or improvements, feel free to open an issue or submit a pull request.

## License 📄
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details.
14 changes: 14 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite + React + TS</title>
</head>
<body>
<div id="root"></div>
<canvas class="webgl"></canvas>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>
Loading

0 comments on commit 1cbbdec

Please sign in to comment.