实例介绍
【实例简介】
该资源是《交互式计算机图形学 基于OpenGL着色器的自顶向下方法(第7版) 》里面的代码,部分代码需要经过小改动才可以在你的平台下正常运行。例如Common中的InitShader.js有错需要引用initShader.js
【实例截图】
【核心代码】
Code
├── Code
│ ├── 02
│ │ ├── angelChap2.zip
│ │ ├── gasket1.html
│ │ ├── gasket1.js
│ │ ├── gasket1v2.html
│ │ ├── gasket1v2.js
│ │ ├── gasket2.html
│ │ ├── gasket2.js
│ │ ├── gasket3.html
│ │ ├── gasket3.js
│ │ ├── gasket4.html
│ │ ├── gasket4.js
│ │ ├── README.txt
│ │ └── shaders
│ │ ├── fshader21.glsl
│ │ └── vshader21.glsl
│ ├── 03
│ │ ├── angelChap3.zip
│ │ ├── cad1.html
│ │ ├── cad1.js
│ │ ├── cad2.html
│ │ ├── cad2.js
│ │ ├── gasket5.html
│ │ ├── gasket5.js
│ │ ├── README.txt
│ │ ├── rotatingSquare1.html
│ │ ├── rotatingSquare1.js
│ │ ├── rotatingSquare2.html
│ │ ├── rotatingSquare2.js
│ │ ├── rotatingSquare3.html
│ │ ├── rotatingSquare3.js
│ │ ├── square.html
│ │ ├── square.js
│ │ ├── squarem.html
│ │ ├── squarem.js
│ │ ├── triangle.html
│ │ └── triangle.js
│ ├── 04
│ │ ├── angelChap4.zip
│ │ ├── cube.html
│ │ ├── cube.js
│ │ ├── cubeq.html
│ │ ├── cubeq.js
│ │ ├── cubev.html
│ │ ├── cubev.js
│ │ ├── README.txt
│ │ ├── trackball.html
│ │ ├── trackball.js
│ │ ├── trackballQuaterion.html
│ │ └── trackballQuaterion.js
│ ├── 05
│ │ ├── angelChap5.zip
│ │ ├── hata.html
│ │ ├── hata.js
│ │ ├── hat.html
│ │ ├── hat.js
│ │ ├── ortho1.html
│ │ ├── ortho1.js
│ │ ├── ortho2.html
│ │ ├── ortho2.js
│ │ ├── ortho.html
│ │ ├── ortho.js
│ │ ├── perspective1.html
│ │ ├── perspective1.js
│ │ ├── perspective2.html
│ │ ├── perspective2.js
│ │ ├── perspective.html
│ │ ├── perspective.js
│ │ ├── README.txt
│ │ ├── shadow.html
│ │ └── shadow.js
│ ├── 06
│ │ └── angelChap6.zip
│ ├── 07
│ │ └── angelChap7.zip
│ ├── 09
│ │ └── angelChap09.zip
│ ├── 10
│ │ └── angelChap10.zip
│ ├── 11
│ │ └── angelChap11.zip
│ ├── CLASS
│ │ ├── cube2.html
│ │ ├── cube2.js
│ │ ├── cube3.html
│ │ ├── cube3.js
│ │ ├── cube.html
│ │ ├── cube.js
│ │ ├── gasket6.html
│ │ ├── gasket6.js
│ │ ├── square2.html
│ │ ├── square2.js
│ │ ├── square.html
│ │ ├── square.js
│ │ ├── triangle.html
│ │ ├── triangle.js
│ │ ├── triangles2.html
│ │ ├── triangles2.js
│ │ ├── triangles.html
│ │ └── triangles.js
│ ├── code_updates.pdf
│ ├── Common
│ │ ├── angelCommon.zip
│ │ ├── initShaders2.js
│ │ ├── initShaders.js
│ │ ├── _InitShaders.js
│ │ ├── MV.js
│ │ ├── README.txt
│ │ └── webgl-utils.js
│ ├── node_modules
│ │ └── http-server
│ │ ├── bin
│ │ │ └── http-server
│ │ ├── lib
│ │ │ └── http-server.js
│ │ ├── LICENSE
│ │ ├── node_modules
│ │ │ ├── colors
│ │ │ │ ├── examples
│ │ │ │ │ ├── normal-usage.js
│ │ │ │ │ └── safe-string.js
│ │ │ │ ├── lib
│ │ │ │ │ ├── colors.js
│ │ │ │ │ ├── custom
│ │ │ │ │ │ ├── trap.js
│ │ │ │ │ │ └── zalgo.js
│ │ │ │ │ ├── extendStringPrototype.js
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── maps
│ │ │ │ │ │ ├── america.js
│ │ │ │ │ │ ├── rainbow.js
│ │ │ │ │ │ ├── random.js
│ │ │ │ │ │ └── zebra.js
│ │ │ │ │ ├── styles.js
│ │ │ │ │ └── system
│ │ │ │ │ └── supports-colors.js
│ │ │ │ ├── MIT-LICENSE.txt
│ │ │ │ ├── package.json
│ │ │ │ ├── ReadMe.md
│ │ │ │ ├── safe.js
│ │ │ │ ├── screenshots
│ │ │ │ │ └── colors.png
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic-test.js
│ │ │ │ │ └── safe-test.js
│ │ │ │ └── themes
│ │ │ │ └── generic-logging.js
│ │ │ ├── corser
│ │ │ │ ├── lib
│ │ │ │ │ └── corser.js
│ │ │ │ ├── LICENSE
│ │ │ │ ├── package.json
│ │ │ │ └── README.md
│ │ │ ├── ecstatic
│ │ │ │ ├── CHANGELOG.md
│ │ │ │ ├── CONTRIBUTING.md
│ │ │ │ ├── CONTRIBUTORS.md
│ │ │ │ ├── example
│ │ │ │ │ ├── core.js
│ │ │ │ │ ├── express.js
│ │ │ │ │ ├── public
│ │ │ │ │ │ ├── beep
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ │ ├── hello.txt
│ │ │ │ │ │ ├── subdir
│ │ │ │ │ │ │ └── world.txt
│ │ │ │ │ │ └── turtle.png
│ │ │ │ │ └── union.js
│ │ │ │ ├── lib
│ │ │ │ │ ├── ecstatic
│ │ │ │ │ │ ├── aliases.json
│ │ │ │ │ │ ├── defaults.json
│ │ │ │ │ │ ├── etag.js
│ │ │ │ │ │ ├── opts.js
│ │ │ │ │ │ ├── showdir.js
│ │ │ │ │ │ └── status-handlers.js
│ │ │ │ │ └── ecstatic.js
│ │ │ │ ├── LICENSE.txt
│ │ │ │ ├── node_modules
│ │ │ │ │ ├── he
│ │ │ │ │ │ ├── bin
│ │ │ │ │ │ │ └── he
│ │ │ │ │ │ ├── he.js
│ │ │ │ │ │ ├── LICENSE-MIT.txt
│ │ │ │ │ │ ├── man
│ │ │ │ │ │ │ └── he.1
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ └── README.md
│ │ │ │ │ ├── mime
│ │ │ │ │ │ ├── build
│ │ │ │ │ │ │ ├── build.js
│ │ │ │ │ │ │ └── test.js
│ │ │ │ │ │ ├── cli.js
│ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ ├── mime.js
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ └── types.json
│ │ │ │ │ ├── minimist
│ │ │ │ │ │ ├── example
│ │ │ │ │ │ │ └── parse.js
│ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ ├── readme.markdown
│ │ │ │ │ │ └── test
│ │ │ │ │ │ ├── all_bool.js
│ │ │ │ │ │ ├── bool.js
│ │ │ │ │ │ ├── dash.js
│ │ │ │ │ │ ├── default_bool.js
│ │ │ │ │ │ ├── dotted.js
│ │ │ │ │ │ ├── kv_short.js
│ │ │ │ │ │ ├── long.js
│ │ │ │ │ │ ├── num.js
│ │ │ │ │ │ ├── parse.js
│ │ │ │ │ │ ├── parse_modified.js
│ │ │ │ │ │ ├── short.js
│ │ │ │ │ │ ├── stop_early.js
│ │ │ │ │ │ ├── unknown.js
│ │ │ │ │ │ └── whitespace.js
│ │ │ │ │ └── url-join
│ │ │ │ │ ├── lib
│ │ │ │ │ │ └── url-join.js
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── README.md
│ │ │ │ │ └── test
│ │ │ │ │ └── tests.js
│ │ │ │ ├── package.json
│ │ │ │ ├── README.md
│ │ │ │ └── test.js
│ │ │ ├── http-proxy
│ │ │ │ ├── index.js
│ │ │ │ ├── lib
│ │ │ │ │ ├── http-proxy
│ │ │ │ │ │ ├── common.js
│ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ └── passes
│ │ │ │ │ │ ├── web-incoming.js
│ │ │ │ │ │ ├── web-outgoing.js
│ │ │ │ │ │ └── ws-incoming.js
│ │ │ │ │ └── http-proxy.js
│ │ │ │ ├── LICENSE
│ │ │ │ ├── node_modules
│ │ │ │ │ ├── eventemitter3
│ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ └── README.md
│ │ │ │ │ └── requires-port
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── LICENSE
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── README.md
│ │ │ │ │ └── test.js
│ │ │ │ ├── package.json
│ │ │ │ └── README.md
│ │ │ ├── opener
│ │ │ │ ├── LICENSE.txt
│ │ │ │ ├── opener.js
│ │ │ │ ├── package.json
│ │ │ │ └── README.md
│ │ │ ├── optimist
│ │ │ │ ├── example
│ │ │ │ │ ├── boolean_double.js
│ │ │ │ │ ├── boolean_single.js
│ │ │ │ │ ├── bool.js
│ │ │ │ │ ├── default_hash.js
│ │ │ │ │ ├── default_singles.js
│ │ │ │ │ ├── divide.js
│ │ │ │ │ ├── line_count.js
│ │ │ │ │ ├── line_count_options.js
│ │ │ │ │ ├── line_count_wrap.js
│ │ │ │ │ ├── nonopt.js
│ │ │ │ │ ├── reflect.js
│ │ │ │ │ ├── short.js
│ │ │ │ │ ├── string.js
│ │ │ │ │ ├── usage-options.js
│ │ │ │ │ └── xup.js
│ │ │ │ ├── index.js
│ │ │ │ ├── LICENSE
│ │ │ │ ├── node_modules
│ │ │ │ │ ├── minimist
│ │ │ │ │ │ ├── example
│ │ │ │ │ │ │ └── parse.js
│ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ ├── readme.markdown
│ │ │ │ │ │ └── test
│ │ │ │ │ │ ├── bool.js
│ │ │ │ │ │ ├── dash.js
│ │ │ │ │ │ ├── default_bool.js
│ │ │ │ │ │ ├── dotted.js
│ │ │ │ │ │ ├── long.js
│ │ │ │ │ │ ├── num.js
│ │ │ │ │ │ ├── parse.js
│ │ │ │ │ │ ├── parse_modified.js
│ │ │ │ │ │ ├── short.js
│ │ │ │ │ │ └── whitespace.js
│ │ │ │ │ └── wordwrap
│ │ │ │ │ ├── example
│ │ │ │ │ │ ├── center.js
│ │ │ │ │ │ └── meat.js
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── LICENSE
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── README.markdown
│ │ │ │ │ └── test
│ │ │ │ │ ├── break.js
│ │ │ │ │ ├── idleness.txt
│ │ │ │ │ └── wrap.js
│ │ │ │ ├── package.json
│ │ │ │ ├── readme.markdown
│ │ │ │ └── test
│ │ │ │ ├── _
│ │ │ │ │ ├── argv.js
│ │ │ │ │ └── bin.js
│ │ │ │ ├── dash.js
│ │ │ │ ├── _.js
│ │ │ │ ├── parse.js
│ │ │ │ ├── parse_modified.js
│ │ │ │ ├── short.js
│ │ │ │ ├── usage.js
│ │ │ │ └── whitespace.js
│ │ │ ├── portfinder
│ │ │ │ ├── lib
│ │ │ │ │ └── portfinder.js
│ │ │ │ ├── LICENSE
│ │ │ │ ├── node_modules
│ │ │ │ │ ├── async
│ │ │ │ │ │ ├── component.json
│ │ │ │ │ │ ├── lib
│ │ │ │ │ │ │ └── async.js
│ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ └── README.md
│ │ │ │ │ └── mkdirp
│ │ │ │ │ ├── bin
│ │ │ │ │ │ ├── cmd.js
│ │ │ │ │ │ └── usage.txt
│ │ │ │ │ ├── examples
│ │ │ │ │ │ └── pow.js
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── LICENSE
│ │ │ │ │ ├── node_modules
│ │ │ │ │ │ └── minimist
│ │ │ │ │ │ ├── example
│ │ │ │ │ │ │ └── parse.js
│ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ ├── readme.markdown
│ │ │ │ │ │ └── test
│ │ │ │ │ │ ├── dash.js
│ │ │ │ │ │ ├── default_bool.js
│ │ │ │ │ │ ├── dotted.js
│ │ │ │ │ │ ├── long.js
│ │ │ │ │ │ ├── parse.js
│ │ │ │ │ │ ├── parse_modified.js
│ │ │ │ │ │ ├── short.js
│ │ │ │ │ │ └── whitespace.js
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── readme.markdown
│ │ │ │ │ └── test
│ │ │ │ │ ├── chmod.js
│ │ │ │ │ ├── clobber.js
│ │ │ │ │ ├── mkdirp.js
│ │ │ │ │ ├── opts_fs.js
│ │ │ │ │ ├── opts_fs_sync.js
│ │ │ │ │ ├── perm.js
│ │ │ │ │ ├── perm_sync.js
│ │ │ │ │ ├── race.js
│ │ │ │ │ ├── rel.js
│ │ │ │ │ ├── return.js
│ │ │ │ │ ├── return_sync.js
│ │ │ │ │ ├── root.js
│ │ │ │ │ ├── sync.js
│ │ │ │ │ ├── umask.js
│ │ │ │ │ └── umask_sync.js
│ │ │ │ ├── package.json
│ │ │ │ ├── README.md
│ │ │ │ └── test
│ │ │ │ ├── fixtures
│ │ │ │ ├── port-finder-multiple-test.js
│ │ │ │ ├── port-finder-socket-test.js
│ │ │ │ └── port-finder-test.js
│ │ │ └── union
│ │ │ ├── CHANGELOG.md
│ │ │ ├── examples
│ │ │ │ ├── after
│ │ │ │ │ └── index.js
│ │ │ │ ├── simple
│ │ │ │ │ ├── favicon.png
│ │ │ │ │ ├── middleware
│ │ │ │ │ │ ├── favicon.js
│ │ │ │ │ │ ├── gzip-decode.js
│ │ │ │ │ │ └── gzip-encode.js
│ │ │ │ │ ├── simple.js
│ │ │ │ │ └── spdy.js
│ │ │ │ └── socketio
│ │ │ │ ├── index.html
│ │ │ │ ├── README
│ │ │ │ └── server.js
│ │ │ ├── lib
│ │ │ │ ├── buffered-stream.js
│ │ │ │ ├── core.js
│ │ │ │ ├── http-stream.js
│ │ │ │ ├── index.js
│ │ │ │ ├── request-stream.js
│ │ │ │ ├── response-stream.js
│ │ │ │ └── routing-stream.js
│ │ │ ├── LICENSE
│ │ │ ├── node_modules
│ │ │ │ └── qs
│ │ │ │ ├── CHANGELOG.md
│ │ │ │ ├── CONTRIBUTING.md
│ │ │ │ ├── index.js
│ │ │ │ ├── lib
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── parse.js
│ │ │ │ │ ├── stringify.js
│ │ │ │ │ └── utils.js
│ │ │ │ ├── LICENSE
│ │ │ │ ├── Makefile
│ │ │ │ ├── package.json
│ │ │ │ ├── README.md
│ │ │ │ └── test
│ │ │ │ ├── parse.js
│ │ │ │ └── stringify.js
│ │ │ ├── package.json
│ │ │ ├── README.md
│ │ │ ├── test
│ │ │ │ ├── after-test.js
│ │ │ │ ├── body-parser-test.js
│ │ │ │ ├── double-write-test.js
│ │ │ │ ├── ecstatic-test.js
│ │ │ │ ├── fixtures
│ │ │ │ │ ├── index.js
│ │ │ │ │ └── static
│ │ │ │ │ └── some-file.txt
│ │ │ │ ├── header-test.js
│ │ │ │ ├── helpers
│ │ │ │ │ ├── index.js
│ │ │ │ │ └── macros.js
│ │ │ │ ├── prop-test.js
│ │ │ │ ├── simple-test.js
│ │ │ │ ├── status-code-test.js
│ │ │ │ └── streaming-test.js
│ │ │ └── union.png
│ │ ├── package.json
│ │ ├── public
│ │ │ ├── 404.html
│ │ │ ├── img
│ │ │ │ └── turtle.png
│ │ │ └── index.html
│ │ ├── README.md
│ │ ├── screenshots
│ │ │ ├── directory.png
│ │ │ ├── public.png
│ │ │ └── start.png
│ │ └── test
│ │ ├── fixtures
│ │ │ └── root
│ │ │ ├── canYouSeeMe
│ │ │ └── file
│ │ └── http-server-test.js
│ ├── package.json
│ ├── SA2011_black.gif
│ ├── start.cmd
│ └── TEST
│ ├── particleDiffusion.html
│ ├── particleDiffusion.js
│ ├── pde2.html
│ └── pde2.js
└── SIGGRAPH_AISA_17
└── CODE
├── siggraph.zip
├── WebGL 1.0
│ ├── Common
│ │ ├── crate.gif
│ │ ├── cube.html
│ │ ├── cube.js
│ │ ├── Icon
│ │ ├── initShaders.js
│ │ ├── MV1.js
│ │ ├── MV.js
│ │ ├── SA2011_black.gif
│ │ └── webgl-utils.js
│ └── Examples
│ ├── crate.gif
│ ├── cube.html
│ ├── cube.js
│ ├── SA2011_black.gif
│ ├── shadedCube.html
│ ├── shadedCube.js
│ ├── textureCube1.html
│ ├── textureCube1.js
│ ├── textureCubev2.html
│ └── textureCubev2.js
└── WebGL 2.0
├── Common
│ ├── flatten.js
│ ├── initShaders.js
│ └── MVnew.js
└── Examples
├── crate.gif
├── cube.html
├── cube.js
├── SA2011_black.gif
├── shadedCube.html
├── shadedCube.js
├── textureCube1.html
├── textureCube1.js
├── textureCubev2.html
└── textureCubev2.js
112 directories, 404 files
该资源是《交互式计算机图形学 基于OpenGL着色器的自顶向下方法(第7版) 》里面的代码,部分代码需要经过小改动才可以在你的平台下正常运行。例如Common中的InitShader.js有错需要引用initShader.js
【实例截图】
【核心代码】
Code
├── Code
│ ├── 02
│ │ ├── angelChap2.zip
│ │ ├── gasket1.html
│ │ ├── gasket1.js
│ │ ├── gasket1v2.html
│ │ ├── gasket1v2.js
│ │ ├── gasket2.html
│ │ ├── gasket2.js
│ │ ├── gasket3.html
│ │ ├── gasket3.js
│ │ ├── gasket4.html
│ │ ├── gasket4.js
│ │ ├── README.txt
│ │ └── shaders
│ │ ├── fshader21.glsl
│ │ └── vshader21.glsl
│ ├── 03
│ │ ├── angelChap3.zip
│ │ ├── cad1.html
│ │ ├── cad1.js
│ │ ├── cad2.html
│ │ ├── cad2.js
│ │ ├── gasket5.html
│ │ ├── gasket5.js
│ │ ├── README.txt
│ │ ├── rotatingSquare1.html
│ │ ├── rotatingSquare1.js
│ │ ├── rotatingSquare2.html
│ │ ├── rotatingSquare2.js
│ │ ├── rotatingSquare3.html
│ │ ├── rotatingSquare3.js
│ │ ├── square.html
│ │ ├── square.js
│ │ ├── squarem.html
│ │ ├── squarem.js
│ │ ├── triangle.html
│ │ └── triangle.js
│ ├── 04
│ │ ├── angelChap4.zip
│ │ ├── cube.html
│ │ ├── cube.js
│ │ ├── cubeq.html
│ │ ├── cubeq.js
│ │ ├── cubev.html
│ │ ├── cubev.js
│ │ ├── README.txt
│ │ ├── trackball.html
│ │ ├── trackball.js
│ │ ├── trackballQuaterion.html
│ │ └── trackballQuaterion.js
│ ├── 05
│ │ ├── angelChap5.zip
│ │ ├── hata.html
│ │ ├── hata.js
│ │ ├── hat.html
│ │ ├── hat.js
│ │ ├── ortho1.html
│ │ ├── ortho1.js
│ │ ├── ortho2.html
│ │ ├── ortho2.js
│ │ ├── ortho.html
│ │ ├── ortho.js
│ │ ├── perspective1.html
│ │ ├── perspective1.js
│ │ ├── perspective2.html
│ │ ├── perspective2.js
│ │ ├── perspective.html
│ │ ├── perspective.js
│ │ ├── README.txt
│ │ ├── shadow.html
│ │ └── shadow.js
│ ├── 06
│ │ └── angelChap6.zip
│ ├── 07
│ │ └── angelChap7.zip
│ ├── 09
│ │ └── angelChap09.zip
│ ├── 10
│ │ └── angelChap10.zip
│ ├── 11
│ │ └── angelChap11.zip
│ ├── CLASS
│ │ ├── cube2.html
│ │ ├── cube2.js
│ │ ├── cube3.html
│ │ ├── cube3.js
│ │ ├── cube.html
│ │ ├── cube.js
│ │ ├── gasket6.html
│ │ ├── gasket6.js
│ │ ├── square2.html
│ │ ├── square2.js
│ │ ├── square.html
│ │ ├── square.js
│ │ ├── triangle.html
│ │ ├── triangle.js
│ │ ├── triangles2.html
│ │ ├── triangles2.js
│ │ ├── triangles.html
│ │ └── triangles.js
│ ├── code_updates.pdf
│ ├── Common
│ │ ├── angelCommon.zip
│ │ ├── initShaders2.js
│ │ ├── initShaders.js
│ │ ├── _InitShaders.js
│ │ ├── MV.js
│ │ ├── README.txt
│ │ └── webgl-utils.js
│ ├── node_modules
│ │ └── http-server
│ │ ├── bin
│ │ │ └── http-server
│ │ ├── lib
│ │ │ └── http-server.js
│ │ ├── LICENSE
│ │ ├── node_modules
│ │ │ ├── colors
│ │ │ │ ├── examples
│ │ │ │ │ ├── normal-usage.js
│ │ │ │ │ └── safe-string.js
│ │ │ │ ├── lib
│ │ │ │ │ ├── colors.js
│ │ │ │ │ ├── custom
│ │ │ │ │ │ ├── trap.js
│ │ │ │ │ │ └── zalgo.js
│ │ │ │ │ ├── extendStringPrototype.js
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── maps
│ │ │ │ │ │ ├── america.js
│ │ │ │ │ │ ├── rainbow.js
│ │ │ │ │ │ ├── random.js
│ │ │ │ │ │ └── zebra.js
│ │ │ │ │ ├── styles.js
│ │ │ │ │ └── system
│ │ │ │ │ └── supports-colors.js
│ │ │ │ ├── MIT-LICENSE.txt
│ │ │ │ ├── package.json
│ │ │ │ ├── ReadMe.md
│ │ │ │ ├── safe.js
│ │ │ │ ├── screenshots
│ │ │ │ │ └── colors.png
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic-test.js
│ │ │ │ │ └── safe-test.js
│ │ │ │ └── themes
│ │ │ │ └── generic-logging.js
│ │ │ ├── corser
│ │ │ │ ├── lib
│ │ │ │ │ └── corser.js
│ │ │ │ ├── LICENSE
│ │ │ │ ├── package.json
│ │ │ │ └── README.md
│ │ │ ├── ecstatic
│ │ │ │ ├── CHANGELOG.md
│ │ │ │ ├── CONTRIBUTING.md
│ │ │ │ ├── CONTRIBUTORS.md
│ │ │ │ ├── example
│ │ │ │ │ ├── core.js
│ │ │ │ │ ├── express.js
│ │ │ │ │ ├── public
│ │ │ │ │ │ ├── beep
│ │ │ │ │ │ │ └── index.html
│ │ │ │ │ │ ├── hello.txt
│ │ │ │ │ │ ├── subdir
│ │ │ │ │ │ │ └── world.txt
│ │ │ │ │ │ └── turtle.png
│ │ │ │ │ └── union.js
│ │ │ │ ├── lib
│ │ │ │ │ ├── ecstatic
│ │ │ │ │ │ ├── aliases.json
│ │ │ │ │ │ ├── defaults.json
│ │ │ │ │ │ ├── etag.js
│ │ │ │ │ │ ├── opts.js
│ │ │ │ │ │ ├── showdir.js
│ │ │ │ │ │ └── status-handlers.js
│ │ │ │ │ └── ecstatic.js
│ │ │ │ ├── LICENSE.txt
│ │ │ │ ├── node_modules
│ │ │ │ │ ├── he
│ │ │ │ │ │ ├── bin
│ │ │ │ │ │ │ └── he
│ │ │ │ │ │ ├── he.js
│ │ │ │ │ │ ├── LICENSE-MIT.txt
│ │ │ │ │ │ ├── man
│ │ │ │ │ │ │ └── he.1
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ └── README.md
│ │ │ │ │ ├── mime
│ │ │ │ │ │ ├── build
│ │ │ │ │ │ │ ├── build.js
│ │ │ │ │ │ │ └── test.js
│ │ │ │ │ │ ├── cli.js
│ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ ├── mime.js
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ └── types.json
│ │ │ │ │ ├── minimist
│ │ │ │ │ │ ├── example
│ │ │ │ │ │ │ └── parse.js
│ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ ├── readme.markdown
│ │ │ │ │ │ └── test
│ │ │ │ │ │ ├── all_bool.js
│ │ │ │ │ │ ├── bool.js
│ │ │ │ │ │ ├── dash.js
│ │ │ │ │ │ ├── default_bool.js
│ │ │ │ │ │ ├── dotted.js
│ │ │ │ │ │ ├── kv_short.js
│ │ │ │ │ │ ├── long.js
│ │ │ │ │ │ ├── num.js
│ │ │ │ │ │ ├── parse.js
│ │ │ │ │ │ ├── parse_modified.js
│ │ │ │ │ │ ├── short.js
│ │ │ │ │ │ ├── stop_early.js
│ │ │ │ │ │ ├── unknown.js
│ │ │ │ │ │ └── whitespace.js
│ │ │ │ │ └── url-join
│ │ │ │ │ ├── lib
│ │ │ │ │ │ └── url-join.js
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── README.md
│ │ │ │ │ └── test
│ │ │ │ │ └── tests.js
│ │ │ │ ├── package.json
│ │ │ │ ├── README.md
│ │ │ │ └── test.js
│ │ │ ├── http-proxy
│ │ │ │ ├── index.js
│ │ │ │ ├── lib
│ │ │ │ │ ├── http-proxy
│ │ │ │ │ │ ├── common.js
│ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ └── passes
│ │ │ │ │ │ ├── web-incoming.js
│ │ │ │ │ │ ├── web-outgoing.js
│ │ │ │ │ │ └── ws-incoming.js
│ │ │ │ │ └── http-proxy.js
│ │ │ │ ├── LICENSE
│ │ │ │ ├── node_modules
│ │ │ │ │ ├── eventemitter3
│ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ └── README.md
│ │ │ │ │ └── requires-port
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── LICENSE
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── README.md
│ │ │ │ │ └── test.js
│ │ │ │ ├── package.json
│ │ │ │ └── README.md
│ │ │ ├── opener
│ │ │ │ ├── LICENSE.txt
│ │ │ │ ├── opener.js
│ │ │ │ ├── package.json
│ │ │ │ └── README.md
│ │ │ ├── optimist
│ │ │ │ ├── example
│ │ │ │ │ ├── boolean_double.js
│ │ │ │ │ ├── boolean_single.js
│ │ │ │ │ ├── bool.js
│ │ │ │ │ ├── default_hash.js
│ │ │ │ │ ├── default_singles.js
│ │ │ │ │ ├── divide.js
│ │ │ │ │ ├── line_count.js
│ │ │ │ │ ├── line_count_options.js
│ │ │ │ │ ├── line_count_wrap.js
│ │ │ │ │ ├── nonopt.js
│ │ │ │ │ ├── reflect.js
│ │ │ │ │ ├── short.js
│ │ │ │ │ ├── string.js
│ │ │ │ │ ├── usage-options.js
│ │ │ │ │ └── xup.js
│ │ │ │ ├── index.js
│ │ │ │ ├── LICENSE
│ │ │ │ ├── node_modules
│ │ │ │ │ ├── minimist
│ │ │ │ │ │ ├── example
│ │ │ │ │ │ │ └── parse.js
│ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ ├── readme.markdown
│ │ │ │ │ │ └── test
│ │ │ │ │ │ ├── bool.js
│ │ │ │ │ │ ├── dash.js
│ │ │ │ │ │ ├── default_bool.js
│ │ │ │ │ │ ├── dotted.js
│ │ │ │ │ │ ├── long.js
│ │ │ │ │ │ ├── num.js
│ │ │ │ │ │ ├── parse.js
│ │ │ │ │ │ ├── parse_modified.js
│ │ │ │ │ │ ├── short.js
│ │ │ │ │ │ └── whitespace.js
│ │ │ │ │ └── wordwrap
│ │ │ │ │ ├── example
│ │ │ │ │ │ ├── center.js
│ │ │ │ │ │ └── meat.js
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── LICENSE
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── README.markdown
│ │ │ │ │ └── test
│ │ │ │ │ ├── break.js
│ │ │ │ │ ├── idleness.txt
│ │ │ │ │ └── wrap.js
│ │ │ │ ├── package.json
│ │ │ │ ├── readme.markdown
│ │ │ │ └── test
│ │ │ │ ├── _
│ │ │ │ │ ├── argv.js
│ │ │ │ │ └── bin.js
│ │ │ │ ├── dash.js
│ │ │ │ ├── _.js
│ │ │ │ ├── parse.js
│ │ │ │ ├── parse_modified.js
│ │ │ │ ├── short.js
│ │ │ │ ├── usage.js
│ │ │ │ └── whitespace.js
│ │ │ ├── portfinder
│ │ │ │ ├── lib
│ │ │ │ │ └── portfinder.js
│ │ │ │ ├── LICENSE
│ │ │ │ ├── node_modules
│ │ │ │ │ ├── async
│ │ │ │ │ │ ├── component.json
│ │ │ │ │ │ ├── lib
│ │ │ │ │ │ │ └── async.js
│ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ └── README.md
│ │ │ │ │ └── mkdirp
│ │ │ │ │ ├── bin
│ │ │ │ │ │ ├── cmd.js
│ │ │ │ │ │ └── usage.txt
│ │ │ │ │ ├── examples
│ │ │ │ │ │ └── pow.js
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── LICENSE
│ │ │ │ │ ├── node_modules
│ │ │ │ │ │ └── minimist
│ │ │ │ │ │ ├── example
│ │ │ │ │ │ │ └── parse.js
│ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ ├── package.json
│ │ │ │ │ │ ├── readme.markdown
│ │ │ │ │ │ └── test
│ │ │ │ │ │ ├── dash.js
│ │ │ │ │ │ ├── default_bool.js
│ │ │ │ │ │ ├── dotted.js
│ │ │ │ │ │ ├── long.js
│ │ │ │ │ │ ├── parse.js
│ │ │ │ │ │ ├── parse_modified.js
│ │ │ │ │ │ ├── short.js
│ │ │ │ │ │ └── whitespace.js
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── readme.markdown
│ │ │ │ │ └── test
│ │ │ │ │ ├── chmod.js
│ │ │ │ │ ├── clobber.js
│ │ │ │ │ ├── mkdirp.js
│ │ │ │ │ ├── opts_fs.js
│ │ │ │ │ ├── opts_fs_sync.js
│ │ │ │ │ ├── perm.js
│ │ │ │ │ ├── perm_sync.js
│ │ │ │ │ ├── race.js
│ │ │ │ │ ├── rel.js
│ │ │ │ │ ├── return.js
│ │ │ │ │ ├── return_sync.js
│ │ │ │ │ ├── root.js
│ │ │ │ │ ├── sync.js
│ │ │ │ │ ├── umask.js
│ │ │ │ │ └── umask_sync.js
│ │ │ │ ├── package.json
│ │ │ │ ├── README.md
│ │ │ │ └── test
│ │ │ │ ├── fixtures
│ │ │ │ ├── port-finder-multiple-test.js
│ │ │ │ ├── port-finder-socket-test.js
│ │ │ │ └── port-finder-test.js
│ │ │ └── union
│ │ │ ├── CHANGELOG.md
│ │ │ ├── examples
│ │ │ │ ├── after
│ │ │ │ │ └── index.js
│ │ │ │ ├── simple
│ │ │ │ │ ├── favicon.png
│ │ │ │ │ ├── middleware
│ │ │ │ │ │ ├── favicon.js
│ │ │ │ │ │ ├── gzip-decode.js
│ │ │ │ │ │ └── gzip-encode.js
│ │ │ │ │ ├── simple.js
│ │ │ │ │ └── spdy.js
│ │ │ │ └── socketio
│ │ │ │ ├── index.html
│ │ │ │ ├── README
│ │ │ │ └── server.js
│ │ │ ├── lib
│ │ │ │ ├── buffered-stream.js
│ │ │ │ ├── core.js
│ │ │ │ ├── http-stream.js
│ │ │ │ ├── index.js
│ │ │ │ ├── request-stream.js
│ │ │ │ ├── response-stream.js
│ │ │ │ └── routing-stream.js
│ │ │ ├── LICENSE
│ │ │ ├── node_modules
│ │ │ │ └── qs
│ │ │ │ ├── CHANGELOG.md
│ │ │ │ ├── CONTRIBUTING.md
│ │ │ │ ├── index.js
│ │ │ │ ├── lib
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── parse.js
│ │ │ │ │ ├── stringify.js
│ │ │ │ │ └── utils.js
│ │ │ │ ├── LICENSE
│ │ │ │ ├── Makefile
│ │ │ │ ├── package.json
│ │ │ │ ├── README.md
│ │ │ │ └── test
│ │ │ │ ├── parse.js
│ │ │ │ └── stringify.js
│ │ │ ├── package.json
│ │ │ ├── README.md
│ │ │ ├── test
│ │ │ │ ├── after-test.js
│ │ │ │ ├── body-parser-test.js
│ │ │ │ ├── double-write-test.js
│ │ │ │ ├── ecstatic-test.js
│ │ │ │ ├── fixtures
│ │ │ │ │ ├── index.js
│ │ │ │ │ └── static
│ │ │ │ │ └── some-file.txt
│ │ │ │ ├── header-test.js
│ │ │ │ ├── helpers
│ │ │ │ │ ├── index.js
│ │ │ │ │ └── macros.js
│ │ │ │ ├── prop-test.js
│ │ │ │ ├── simple-test.js
│ │ │ │ ├── status-code-test.js
│ │ │ │ └── streaming-test.js
│ │ │ └── union.png
│ │ ├── package.json
│ │ ├── public
│ │ │ ├── 404.html
│ │ │ ├── img
│ │ │ │ └── turtle.png
│ │ │ └── index.html
│ │ ├── README.md
│ │ ├── screenshots
│ │ │ ├── directory.png
│ │ │ ├── public.png
│ │ │ └── start.png
│ │ └── test
│ │ ├── fixtures
│ │ │ └── root
│ │ │ ├── canYouSeeMe
│ │ │ └── file
│ │ └── http-server-test.js
│ ├── package.json
│ ├── SA2011_black.gif
│ ├── start.cmd
│ └── TEST
│ ├── particleDiffusion.html
│ ├── particleDiffusion.js
│ ├── pde2.html
│ └── pde2.js
└── SIGGRAPH_AISA_17
└── CODE
├── siggraph.zip
├── WebGL 1.0
│ ├── Common
│ │ ├── crate.gif
│ │ ├── cube.html
│ │ ├── cube.js
│ │ ├── Icon
│ │ ├── initShaders.js
│ │ ├── MV1.js
│ │ ├── MV.js
│ │ ├── SA2011_black.gif
│ │ └── webgl-utils.js
│ └── Examples
│ ├── crate.gif
│ ├── cube.html
│ ├── cube.js
│ ├── SA2011_black.gif
│ ├── shadedCube.html
│ ├── shadedCube.js
│ ├── textureCube1.html
│ ├── textureCube1.js
│ ├── textureCubev2.html
│ └── textureCubev2.js
└── WebGL 2.0
├── Common
│ ├── flatten.js
│ ├── initShaders.js
│ └── MVnew.js
└── Examples
├── crate.gif
├── cube.html
├── cube.js
├── SA2011_black.gif
├── shadedCube.html
├── shadedCube.js
├── textureCube1.html
├── textureCube1.js
├── textureCubev2.html
└── textureCubev2.js
112 directories, 404 files
标签:
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论