• Stars
    star
    120
  • Rank 286,752 (Top 6 %)
  • Language
    JavaScript
  • Created about 12 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Utilities for working with WebGL textures

webgl-texture-utils

Utilities for working with WebGL textures with an emphasis on loading compressed formats.

NOTE: This code is pretty old by now, and I don't intend to do further development on it. You may want to try using webgl-texture-util.js from my texture-tester project instead.

Usage

The quickest way to get up and running is to include texture-util.js from the build folder, which will add a TextureUtil object to the global scope. Once included, construct a TextureLoader by passing the desired WebGL context to it.

var textureLoader = new TextureUtil.TextureLoader(gl);

The texture loader can be used to easily load textures of many different formats with the load function.

var texture = textureLoader.load("path/to/texture.png", function(texture) {
    // Optional callback
});

Supported formats are those natively supported by the browser (JPG, PNG, BMP, GIF), TGA, DDS, and CRN (Crunch). Format is typically determined by the file extension on the path provided, but can be overridden by passing in an explicit type.

var texture = textureLoader.load("textureGenerator.php", callback, "DDS");

If you use require.js in your project you can use the un-minified source files directly. Copy the texture-util folder into your project and include "texture-util/loader".

Further documentation is forthcoming, sorry for the brevity!

Credits

Thank you to Rich Geldreich for developing the Crunch texture compression library and Evan Parker for porting it to Javscript via Emscripten

More Repositories

1

gl-matrix

Javascript Matrix and Vector library for High Performance WebGL apps
JavaScript
5,234
star
2

webgpu-best-practices

A series of docs detailing best practices for developing with WebGPU
HTML
334
star
3

webgl-quake3

WebGL Quake 3 level renderer
JavaScript
259
star
4

webgl-source

WebGL renderer for Source Engine levels
JavaScript
240
star
5

webgpu-clustered-shading

Personal experimental project to implement clustered shading with WebGPU.
JavaScript
171
star
6

game-shim

Browser shims to normalize game-centric API
JavaScript
129
star
7

webgl2-particles-2

Updated version of particles demo, WebGL 2 only.
JavaScript
123
star
8

semilive

A Sublime Text plugin for "Live" coding
Python
122
star
9

building-the-game

Source for the series of blog posts "Building the Game" on Tojicode
JavaScript
114
star
10

web-texture-tool

Texture loading utility for WebGL and WebGPU
JavaScript
112
star
11

webvr.info

Source code for the WebVR.info website
HTML
109
star
12

spookyball

WebGPU-powered, Halloween-themed breakout game
JavaScript
75
star
13

texture-tester

Simple page for testing WebGL texture support
HTML
69
star
14

webgpu-metaballs

Metaballs rendered in WebGPU
JavaScript
66
star
15

webgpu-test

Testing WebGPU
JavaScript
61
star
16

hello-triangle-webgpu

Well commented hello triangle example for WebGPU
HTML
61
star
17

xr-dinosaurs

Roar!
JavaScript
59
star
18

one-triangle-web

Rendering one triangle, the WebGL/WebGPU way
HTML
58
star
19

webgpu-gltf-case-study

A case study in effective WebGPU patterns for rendering glTF models
Ruby
58
star
20

chrome-webvr-issues

Stub repository for tracking bugs related to Chrome's experimental WebVR support
53
star
21

js-struct

Utility to assist in parsing c-style structs from an ArrayBuffer
JavaScript
53
star
22

wgsl-preprocessor

A simple, template literals-based preprocessor for WGSL shaders
JavaScript
50
star
23

webgl-utils

Lightweight, standalone WebGL utilities
JavaScript
40
star
24

webgl-ios-rage

WebGL renderer for iOS Rage levels
JavaScript
40
star
25

burrow

Toy WebGPU Deferred Renderer
TypeScript
40
star
26

webgpu-shadow-playground

Experimenting with Shadow techniques like Cascading Shadow Maps
JavaScript
40
star
27

webgl-samples

Random WebGL samples, typically demonstrating specific techniques
JavaScript
40
star
28

webxr-particles

Variant of WebGL 2 particles demo tuned for WebXR
JavaScript
30
star
29

rosetta

Comparisons of shaders across multiple APIs
GLSL
22
star
30

shader-perf

Demonstration of asynchronous shader loading
HTML
20
star
31

webxr-scene-optimization

A brief overview of techniques for optimizing 3D scenes for WebXR
HTML
19
star
32

webgl2-crowd

Demonstrates animation "baking" using transform feedback.
JavaScript
18
star
33

xr-critter

Pet Me!
JavaScript
18
star
34

webgpu-bundle-culling

A WebGPU demonstration of using frustum culling with render bundles through indirect instanced draw calls.
JavaScript
17
star
35

webgl-iframe

JavaScript
16
star
36

crocotile-webgl

Dirt simple WebGL loader/renderer for Crocotile 3D files
JavaScript
15
star
37

H3

Hyperactive Hexagonal Havoc!
JavaScript
11
star
38

pristine-grid-webgpu

A WebGPU implementation of the "Pristine Grid" technique
JavaScript
10
star
39

io-gallery

Simple WebVR gallery app for Google I/O 2017
JavaScript
9
star
40

sponza-optimized

A version of the Sponza glTF that's been optimized for file size and instancing
7
star
41

NoRecruiterSoliciting

Please do not contact me with job opportunities. I am happy with my current position.
6
star
42

webxr-logo

A 3D variant of a proposed WebXR logo in Three.js (based on code by @cwilso)
HTML
6
star
43

webgpu-external-test

Tests consuming external textures with WebGPU
JavaScript
5
star
44

webgpu-map-sync

Coding WebGPU atrocities in hopes that future generations won't have to.
JavaScript
5
star
45

xr-lighting

Test page for WebXR Lighting Estimation API
JavaScript
5
star
46

is-it-webgpu

A Chrome extension that informs you if a page is using WebGPU or not.
JavaScript
4
star
47

dinosaurs-static

Frozen in time for the benefit of Chrome testing
HTML
3
star
48

DartGB

A Gameboy emulator in Dart
Dart
3
star
49

positional-audio-test

A simple test for positional web audio
HTML
2
star
50

toji.dev

Personal "About Me" website.
Ruby
2
star
51

chrome-gpu-blinkenlights

Makes a light blink. Not for you.
JavaScript
1
star