SlideShare uma empresa Scribd logo
1 de 110
Baixar para ler offline
WebGL with three.js
ENEI 2016
José Ferrão
Setup
Text editor (sublime, emacs, vim, brackets, notepad, ...)
Web Browser (Firefox, chrome, edge, ...)
Phyton 3.0+
2
Files
Files for the workshop available at
github.com/tentone/enei2016
Presentation
José Manuel Miranda Ferrão
MIECT, Aveiro University
3
tentone@outlook.com
github.com/tentone
twitter.com/tentonej
4
IDKwGL (github.com/tentone/idkwgl)
• WebGL based library for 3D
graphics
•My first contact with WebGL
5
nunuStudio (github.com/tentone/nunuStudio)
• IDE for web 3D and VR
applications development
• Based on three.js
6
DANGER!
7
FOURTH
DIMENSION
in use
Objectives
• Introduce base concepts about graphic programming
• Explore the three.js library
• Introduce WebVR with three.js
8
Javascript
• Originally developed by Brendan Eich in 1995
• JavaScript is standardized by the ECMAScript specifications
• A browser reads the code and runs it directly
9
• Javascript is getting faster
• But still ... stop using it for everything ... please
Javascript
10
WebGL
• WebGL is a Javascript API for rendering 3D graphics using the computer GPU
• No plugins are required
• WebGL specification is close the to the OpenGL ES 2.0 specification
• Graphics programming can be hard
• Mathematics
• GLSL
11
How to draw an Owl
12
“Afunandcreateguideforbeginners”
First step
Draw 2 circles
Second step
Draw the rest of the damn Owl
Rendering pipeline
13
“From data to screen”
Triangles
14
Pixel graphics
15
Sub-pixel accuracy
16
Sub-pixel accuracy
17
Anti-Aliasing
18
Depth Buffer
19
Depth Buffer (http://orbides.org/apps/superslow.html)
20
GLSL
GLSL is a C-like language that runs in the GPU to draw images
21
Fragment shader
Operate at pixel level and are used to control how the objects surface is draw
Vertex shader
Operate on the vertex level and can be used to deform objects
GLSL
22
Shadertoy (www.shadertoy.com)
Website to share GLSL shaders
23
Rendering pipeline
24
three.js
25
• Cross-browser high level library for WebGL graphics
• User all over the internet
• Compreensive API for beginners
26
three.js (www.threejs.org)
Released by Ricardo Cabello to GitHub in 2010
github.com/mrdoob
twitter.com/mrdoob
three.js
27
Lifecycle
28
Initialize
Update
Render
Resize
Lifecycle
29
Hello world
30
Can we make it move?
31
Transformations
32
Scale
33
ቊ
x′ = 2 ∙ x
y′ = 2 ∙ y
Rotation
34
ቊ
x′
= cos 45 ∙ x − sin(45) ∙ y
y′ = sin 45 ∙ x + cos(45) ∙ y
Translation
35
ቐ
𝑥′ = 𝑥 + 𝑤 ∙ 10
𝑦′ = 𝑦
𝑤 = 1
Matrix Transformations
𝑥′ = 𝑎 ∙ 𝑥 + 𝑏 ∙ 𝑦 + 𝑐 ∙ 𝑧 + 𝑑 ∙ 𝑤
𝑦′ = 𝑒 ∙ 𝑥 + 𝑓 ∙ 𝑦 + 𝑔 ∙ 𝑧 + ℎ ∙ 𝑤
𝑧′ = 𝑖 ∙ 𝑥 + 𝑗 ∙ 𝑦 + 𝑘 ∙ 𝑧 + 𝑚 ∙ 𝑤
𝑤′
= 𝑛 ∙ 𝑥 + 𝑜 ∙ 𝑦 + 𝑝 ∙ 𝑧 + 𝑞 ∙ 𝑤
36
𝑥′ 𝑦′ 𝑧′ 𝑤′ =
𝑎 𝑏 𝑐 𝑑
𝑒 𝑓 𝑔 ℎ
𝑖 𝑗 𝑘 𝑚
𝑛 𝑜 𝑝 𝑞
∙
𝑥
𝑦
𝑧
1
• Most of the graphic API’s apply linear transformations using transformation matrixes
• A transformation matrix is multiplied by the model vertices to get the transformated
vertices
3D Objects
• Objects are represented in a 3D space
• Position
• Scale
• Rotation
• Objects are organized in a tree structure
• Parents properties affect the children objects
Hello world!
38
39
Geometries
Geometries
40
41
Input
Mouse and keyboard input
42
Cameras
43
Cameras
44Perspective Orthographic
Cameras
45
OrthographicPerspective
Lights
46
Lights
Ambient Diffuse Specular Combined
+ + =
Lights
Diffuse Specular
Lights
49
Ambient Lights
50
Point Lights
51
Spot Lights
52
Directional Lights
53
Shading
54
Smooth shading
(per pixel)
Flat shading
(per vertex)
Shading
55
Smooth shading
(per pixel)
Flat shading
(per vertex)
Materials
56
Materials
57
Materials
58
Standard
(PBR)
Phong Lambert Basic
Basic Material
59
•Simple material
• Supports coloring
• Transparency
• Alpha maps
• No lighting
Lambert Material
60
• Everything that is supported in
basic material
• Per vertex lighting
• Environment mapping
Phong Material
61
• Per pixel lighting
• Specular component
• Normal maps
• Specular maps
• Displacement maps
PBR Material
62
• Metalness and roughness
• Based on a physical model
• Allows designers to collect material
characteristics from the real world
• Clear coat
External files
63
Textures
64
Textures
65
UV Mapping
66
UV mapping is the process of projecting a 2D image to a 3D model surface
Normal Material
67
Normal Mapping
68
Normal Mapping
69
Normal Mapping
70
Original w/ Normal map
Normal Mapping
71
Original
4M Triangles
Simplified
500 Triangles
Simplified
+ Normal map
Specular mapping
72
Specular mapping
73
Displacement mapping
74
Displacement mapping
75
=+
Displacement mapping
76
Original Normal
Mapping
Displacement
Mapping
Displacement mapping
77
Tesselation
78
Tesselation
79
• Consists in repeatedly subdividing the a
geometry into a finer mesh
• The GPU generates more vertices and triangles
dynamically
• Used with displacement mapping to improve
object quality dynamically
Tesselation
80
Tesselation
81
Video Textures
82
Video Textures
83
Shadows
84
Shadows
85
Shadow map (threejs.org/examples/webgl_shadowmap.html)
86
Shadows
Point, directional and spot ligths can cast shadows
87
Cube mapping
88
Cube mapping
89
Cube mapping
90
Reflections
91
Reflections
92
Refractions
93
Refractions
94
Cube cameras
95
Raycaster
96
Raycaster
97
Raycaster
98
WebVR
99
WebVR (w3c.github.io/webvr/)
• WebVR is an JavaScript API that provides access to Virtual Reality devices, in your
browser.
• WebVR is still an experimental feature
• Special builds of browsers are required for now
100
WebVR
101
WebVR
102
Microsoft Edge
(Announced)
Google Chrome
WebVR 1.1
Mozilla Firefox
WebVR 1.1
Samsung Gear VR
Browser
WebVR
103
WebVR
104
Performance tips
• Polygon count
• Reduce polygon count and use normal maps
• Buffered Geometry vs Geometry
• Material performance
• Basic and Lambert materials peform better
• Object count
• Merge geometries when possible
105
Whats next?
106
A-Frame
• VR Web Apps written in HTML
• Entity-component ecosystem
• Built on top of three.js
107
WebGL 2.0
• Based on OpenGL 3 ES
108
Questions?
109
References
THREE.JS - http://threejs.org/ (September 18, 2016)
AlteredQualia - http://alteredqualia.com/ (September 18, 2016)
Open.gl - https://open.gl/drawing (October 04, 2016)
OpenGL Tutorial - http://www.opengl-tutorial.org/ (October 04, 2016)
FlatIcon - http://www.flaticon.com/ (October 04, 2016)
nunuStudio - https://github.com/tentone/nunustudio (October 05, 2016)
Acko.net - https://acko.net/ (October 05, 2016)
Oculus - https://developer.oculus.com/webvr/ (October 05, 2016)
NVIDIA - http://www.nvidia.com/object/tessellation.html (October 05 2016)
110

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

3D everywhere
3D everywhere3D everywhere
3D everywhere
 
[JS EXPERIENCE 2018] Jogos em JavaScript com WebGL - Juliana Negreiros, Codem...
[JS EXPERIENCE 2018] Jogos em JavaScript com WebGL - Juliana Negreiros, Codem...[JS EXPERIENCE 2018] Jogos em JavaScript com WebGL - Juliana Negreiros, Codem...
[JS EXPERIENCE 2018] Jogos em JavaScript com WebGL - Juliana Negreiros, Codem...
 
3D Computer Graphics with Python
3D Computer Graphics with Python3D Computer Graphics with Python
3D Computer Graphics with Python
 
Портируем существующее Web-приложение в виртуальную реальность / Денис Радин ...
Портируем существующее Web-приложение в виртуальную реальность / Денис Радин ...Портируем существующее Web-приложение в виртуальную реальность / Денис Радин ...
Портируем существующее Web-приложение в виртуальную реальность / Денис Радин ...
 
Minecraft in 500 lines with Pyglet - PyCon UK
Minecraft in 500 lines with Pyglet - PyCon UKMinecraft in 500 lines with Pyglet - PyCon UK
Minecraft in 500 lines with Pyglet - PyCon UK
 
Minecraft in 500 lines of Python with Pyglet
Minecraft in 500 lines of Python with PygletMinecraft in 500 lines of Python with Pyglet
Minecraft in 500 lines of Python with Pyglet
 
OpenGL L05-Texturing
OpenGL L05-TexturingOpenGL L05-Texturing
OpenGL L05-Texturing
 
OpenGL L03-Utilities
OpenGL L03-UtilitiesOpenGL L03-Utilities
OpenGL L03-Utilities
 
Cocos2dを使ったゲーム作成の事例
Cocos2dを使ったゲーム作成の事例Cocos2dを使ったゲーム作成の事例
Cocos2dを使ったゲーム作成の事例
 
Advanced techniques for development of 2D Windows 8 games
Advanced techniques for development of 2D Windows 8 gamesAdvanced techniques for development of 2D Windows 8 games
Advanced techniques for development of 2D Windows 8 games
 
OWC 2012 (Open Web Camp)
OWC 2012 (Open Web Camp)OWC 2012 (Open Web Camp)
OWC 2012 (Open Web Camp)
 
Genome Browser based on Google Maps API
Genome Browser based on Google Maps APIGenome Browser based on Google Maps API
Genome Browser based on Google Maps API
 
OpenGL L07-Skybox and Terrian
OpenGL L07-Skybox and TerrianOpenGL L07-Skybox and Terrian
OpenGL L07-Skybox and Terrian
 
Having fun with graphs, a short introduction to D3.js
Having fun with graphs, a short introduction to D3.jsHaving fun with graphs, a short introduction to D3.js
Having fun with graphs, a short introduction to D3.js
 
Html5 canvas
Html5 canvasHtml5 canvas
Html5 canvas
 
A Novice's Guide to WebGL
A Novice's Guide to WebGLA Novice's Guide to WebGL
A Novice's Guide to WebGL
 
libGDX: Simple Frame Animation
libGDX: Simple Frame AnimationlibGDX: Simple Frame Animation
libGDX: Simple Frame Animation
 
Data Challenges with 3D Computer Vision
Data Challenges with 3D Computer VisionData Challenges with 3D Computer Vision
Data Challenges with 3D Computer Vision
 
Create a 3D Game Engine for Pebble
Create a 3D Game Engine for PebbleCreate a 3D Game Engine for Pebble
Create a 3D Game Engine for Pebble
 
libGDX: Tiled Maps
libGDX: Tiled MapslibGDX: Tiled Maps
libGDX: Tiled Maps
 

Destaque

Web gl & three.js.key
Web gl & three.js.keyWeb gl & three.js.key
Web gl & three.js.key
Yi-Fan Liao
 
Begin three.js.key
Begin three.js.keyBegin three.js.key
Begin three.js.key
Yi-Fan Liao
 
Leaving Flatland: Getting Started with WebGL- SXSW 2012
Leaving Flatland: Getting Started with WebGL- SXSW 2012Leaving Flatland: Getting Started with WebGL- SXSW 2012
Leaving Flatland: Getting Started with WebGL- SXSW 2012
philogb
 
Three.js 一場從2D變成3D的冒險
Three.js  一場從2D變成3D的冒險Three.js  一場從2D變成3D的冒險
Three.js 一場從2D變成3D的冒險
智遠 成
 

Destaque (13)

three.js WebGL library presentation
three.js WebGL library presentationthree.js WebGL library presentation
three.js WebGL library presentation
 
Web GL - Presentation
Web GL - PresentationWeb GL - Presentation
Web GL - Presentation
 
Web gl & three.js.key
Web gl & three.js.keyWeb gl & three.js.key
Web gl & three.js.key
 
System browser
System browserSystem browser
System browser
 
Begin three.js.key
Begin three.js.keyBegin three.js.key
Begin three.js.key
 
OpenVisConf - WebGL for graphics and data visualization
OpenVisConf - WebGL for graphics and data visualizationOpenVisConf - WebGL for graphics and data visualization
OpenVisConf - WebGL for graphics and data visualization
 
Leaving Flatland: Getting Started with WebGL- SXSW 2012
Leaving Flatland: Getting Started with WebGL- SXSW 2012Leaving Flatland: Getting Started with WebGL- SXSW 2012
Leaving Flatland: Getting Started with WebGL- SXSW 2012
 
An Introduction to Writing Custom Unity Shaders!
An Introduction to Writing  Custom Unity Shaders!An Introduction to Writing  Custom Unity Shaders!
An Introduction to Writing Custom Unity Shaders!
 
Three.js 一場從2D變成3D的冒險
Three.js  一場從2D變成3D的冒險Three.js  一場從2D變成3D的冒險
Three.js 一場從2D變成3D的冒險
 
Writing shaders - YOU can do it!
Writing shaders - YOU can do it!Writing shaders - YOU can do it!
Writing shaders - YOU can do it!
 
Shader Programming With Unity
Shader Programming With UnityShader Programming With Unity
Shader Programming With Unity
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & Tricks
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 

Semelhante a ENEI16 - WebGL with Three.js

Synthesizing pseudo 2.5 d content from monocular videos for mixed reality
Synthesizing pseudo 2.5 d content from monocular videos for mixed realitySynthesizing pseudo 2.5 d content from monocular videos for mixed reality
Synthesizing pseudo 2.5 d content from monocular videos for mixed reality
NAVER Engineering
 
ZJPeng.3DSolderBallReconstruction
ZJPeng.3DSolderBallReconstructionZJPeng.3DSolderBallReconstruction
ZJPeng.3DSolderBallReconstruction
Zhejian Peng
 
Panoramic Video in Environmental Monitoring Software Development and Applica...
Panoramic Video in Environmental Monitoring Software Development and Applica...Panoramic Video in Environmental Monitoring Software Development and Applica...
Panoramic Video in Environmental Monitoring Software Development and Applica...
pycontw
 
TechnicalBackgroundOverview
TechnicalBackgroundOverviewTechnicalBackgroundOverview
TechnicalBackgroundOverview
Motaz El-Saban
 

Semelhante a ENEI16 - WebGL with Three.js (20)

Computer Graphics
Computer GraphicsComputer Graphics
Computer Graphics
 
Build Your Own VR Display Course - SIGGRAPH 2017: Part 2
Build Your Own VR Display Course - SIGGRAPH 2017: Part 2Build Your Own VR Display Course - SIGGRAPH 2017: Part 2
Build Your Own VR Display Course - SIGGRAPH 2017: Part 2
 
From Experimentation to Production: The Future of WebGL
From Experimentation to Production: The Future of WebGLFrom Experimentation to Production: The Future of WebGL
From Experimentation to Production: The Future of WebGL
 
Synthesizing pseudo 2.5 d content from monocular videos for mixed reality
Synthesizing pseudo 2.5 d content from monocular videos for mixed realitySynthesizing pseudo 2.5 d content from monocular videos for mixed reality
Synthesizing pseudo 2.5 d content from monocular videos for mixed reality
 
lecture_16_jiajun.pdf
lecture_16_jiajun.pdflecture_16_jiajun.pdf
lecture_16_jiajun.pdf
 
Applying your Convolutional Neural Networks
Applying your Convolutional Neural NetworksApplying your Convolutional Neural Networks
Applying your Convolutional Neural Networks
 
Efficient Variable Size Template Matching Using Fast Normalized Cross Correla...
Efficient Variable Size Template Matching Using Fast Normalized Cross Correla...Efficient Variable Size Template Matching Using Fast Normalized Cross Correla...
Efficient Variable Size Template Matching Using Fast Normalized Cross Correla...
 
Color and 3D Semantic Reconstruction of Indoor Scenes from RGB-D stream
Color and 3D Semantic Reconstruction of Indoor Scenes from RGB-D streamColor and 3D Semantic Reconstruction of Indoor Scenes from RGB-D stream
Color and 3D Semantic Reconstruction of Indoor Scenes from RGB-D stream
 
Using The New Flash Stage3D Web Technology To Build Your Own Next 3D Browser ...
Using The New Flash Stage3D Web Technology To Build Your Own Next 3D Browser ...Using The New Flash Stage3D Web Technology To Build Your Own Next 3D Browser ...
Using The New Flash Stage3D Web Technology To Build Your Own Next 3D Browser ...
 
ZJPeng.3DSolderBallReconstruction
ZJPeng.3DSolderBallReconstructionZJPeng.3DSolderBallReconstruction
ZJPeng.3DSolderBallReconstruction
 
Panoramic Video in Environmental Monitoring Software Development and Applica...
Panoramic Video in Environmental Monitoring Software Development and Applica...Panoramic Video in Environmental Monitoring Software Development and Applica...
Panoramic Video in Environmental Monitoring Software Development and Applica...
 
Eclipse DemoCamp Zurich - SnipMatch in Recommenders 2.1
Eclipse DemoCamp Zurich - SnipMatch in Recommenders 2.1Eclipse DemoCamp Zurich - SnipMatch in Recommenders 2.1
Eclipse DemoCamp Zurich - SnipMatch in Recommenders 2.1
 
COMP 4026 Lecture 5 OpenFrameworks and Soli
COMP 4026 Lecture 5 OpenFrameworks and SoliCOMP 4026 Lecture 5 OpenFrameworks and Soli
COMP 4026 Lecture 5 OpenFrameworks and Soli
 
TechnicalBackgroundOverview
TechnicalBackgroundOverviewTechnicalBackgroundOverview
TechnicalBackgroundOverview
 
Python Raster Function - Esri Developer Conference - 2015
Python Raster Function - Esri Developer Conference - 2015Python Raster Function - Esri Developer Conference - 2015
Python Raster Function - Esri Developer Conference - 2015
 
Deep LearningフレームワークChainerと最近の技術動向
Deep LearningフレームワークChainerと最近の技術動向Deep LearningフレームワークChainerと最近の技術動向
Deep LearningフレームワークChainerと最近の技術動向
 
Knowing when to look
Knowing when to lookKnowing when to look
Knowing when to look
 
Picture Perfect: Images for Coders
Picture Perfect: Images for CodersPicture Perfect: Images for Coders
Picture Perfect: Images for Coders
 
Misha Bilenko, Principal Researcher, Microsoft at MLconf SEA - 5/01/15
Misha Bilenko, Principal Researcher, Microsoft at MLconf SEA - 5/01/15Misha Bilenko, Principal Researcher, Microsoft at MLconf SEA - 5/01/15
Misha Bilenko, Principal Researcher, Microsoft at MLconf SEA - 5/01/15
 
CONVOLUTIONAL NEURAL NETWORKS: The workhorse of image and video
CONVOLUTIONAL NEURAL NETWORKS: The workhorse of image and videoCONVOLUTIONAL NEURAL NETWORKS: The workhorse of image and video
CONVOLUTIONAL NEURAL NETWORKS: The workhorse of image and video
 

Último

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 

Último (20)

Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 

ENEI16 - WebGL with Three.js