kelvin-to-rgb - approximate an RGB color from a Kelvin temperature

  •        54

Approximate an [r, g, b] color from a Kelvin temperature between 1,500 and 40,000.Details and original implementation by Tanner Helland, see here.



Related Projects

pbr - a Physically Based Renderer (PBR) in Go

  •    Go

Package pbr implements Physically-Based Rendering via a unidirectional CPU-only Monte Carlo path tracer. pbr uses dep for dependency management.

ray-mmd - 🎨 The project is designed to create a physically-based rendering at mikumikudance.

  •    HLSL

  Ray-MMD is a free, powerful library and an extension pack of mikumikudance, offering an easy way of adding physically-based rendering with high-freedom of operation. it is written in hlsl lang with DX9 env and based on mikumikueffect.   If you are a developer using this as part of your love and considering contacting me, you can submit code by Pull requests or Feel free to contact me via twitter and issues, i'll add your profile to team members, Thanks.

go-colorful - A library for playing with colors in go (golang).

  •    Go

A library for playing with colors in go (golang). I love games. I make games. I love detail and I get lost in detail. One such detail popped up during the development of Memory Which Does Not Suck, when we wanted the server to assign the players random colors. Sometimes two players got very similar colors, which bugged me. The very same evening, I want hue was the top post on HackerNews' frontpage and showed me how to Do It Right™. Last but not least, there was no library for handling color spaces available in go. Colorful does just that and implements Go's color.Color interface.

filament - Filament is a real-time physically based rendering engine for Android, Windows, Linux and macOS

  •    C++

Filament is a real-time physically based rendering engine for Android, Linux, macOS and Windows. This rendering engine was designed to be as small as possible and as efficient as possible on Android. Filament is currently used in the Sceneform library both at runtime on Android devices and as the renderer inside the Android Studio plugin.

one-color - An OO-based JavaScript color parser/computation toolkit with support for RGB, HSV, HSL, CMYK, and alpha channels

  •    Javascript

Javascript color object with implicit color space conversions. Supports RGB, HSV, HSL and CMYK with alpha channel.

glTF-WebGL-PBR - Physically-Based Rendering in glTF 2.0 using WebGL

  •    Javascript

This is a raw WebGL demo application for the introduction of physically-based materials to the core glTF 2.0 spec. This project is meant to be a barebones reference for developers looking to explore the widespread and robust capabilities of these materials within a WebGL project that isn't tied to any external graphics libraries. For a DirectX sample please head over to this repo instead. If you would like to see this in action, view the live demo.

rpi-rgb-led-matrix - Controlling up to three chains of 64x64, 32x32, 16x32 or similar RGB LED displays using Raspberry Pi GPIO

  •    C++

A library to control commonly available 64x64, 32x32 or 16x32 RGB LED panels with the Raspberry Pi. Can support PWM up to 11Bit per channel, providing true 24bpp color with CIE1931 profile. Supports 3 chains with many panels each. On a Raspberry Pi 2 or 3, you can easily chain 12 panels in that chain (so 36 panels total), but you can theoretically stretch that to up to 96-ish panels (32 chain length) and still reach around 100Hz refresh rate with full 24Bit color (theoretical - never tested this; there might likely be timing problems with the panels that will creep up then).

Aurora - Unified lighting effects across multiple brands and various games.

  •    CSharp

Project Aurora is a utility that unifies RGB lighting devices across different brands and enables them to work alongside each other, all while adding and improving RGB lighting support for various games that previous had none or little RGB lighting support. Aurora is mainly written in C#, but has C++ components to implement native support for other games.

node-hue-api - Node.js Library for interacting with the Philips Hue Bridge and Lights

  •    Javascript

An API library for Node.js that interacts with the Philips Hue Bridge to control Philips Hue Light Bulbs and Philips Living Color Lamps. This library abstracts away the actual Philips Hue Bridge REST API and provides all of the features of the Phillips API and a number of useful functions to control the lights and bridge remotely.

tungsten - High performance physically based renderer in C++11

  •    C++

Tungsten is a physically based renderer originally written for the yearly renderer competition at ETH. It simulates full light transport through arbitrary geometry based on unbiased integration of the rendering equation. To do this, Tungsten supports various light transport algorithms such as bidirectional path tracing, progressive photon mapping, primary sample space metropolis light transport and more. Tungsten is written in C++11 and makes use of Intel's high-performance geometry intersection library embree. Tungsten takes full advantage of multicore systems and tries to offer good performance through frequent benchmarking and optimization. At least SSE3 support is required to run the renderer.

Java apple computer emulator

  •    Java

Cross-platform Apple //e emulator

glTF-Blender-Exporter - Blender glTF 2.0 exporter

  •    Python

This is the offical Khronos Blender glTF 2.0 exporter. This repository mainly contains Python scripts to export the internal Blender data structure to glTF 2.0. Node groups are also provided, to simulate glTF Physically-Based Rendering (PBR) materials using the Cycles renderer. Finally, several Blender scenes are provided demonstrating each feature individually. The Khronos glTF 2.0 exporter is not available in the Add-ons tab by default, and must be installed manually by copying the scripts/addons/io_scene_gltf2 folder into the scripts/addons/ directory of the Blender installation, then enabling it under the Add-ons tab. Read detailed installation instructions here.

tray_rust - A toy ray tracer in Rust

  •    Rust

tray_rust is a toy physically based ray tracer built off of the techniques discussed in Physically Based Rendering. It began life as a port of tray to Rust to check out the language but has surpassed it in a few ways. The renderer is currently capable of path tracing, supports triangle meshes (MTL support coming soon), and various physically based material models (including measured data from the MERL BRDF Database). tray_rust also supports rigid body animation along B-spline paths and distributed rendering. Currently requires nightly Rust for placement new. Running and passing --help or -h will print out options you can pass to the renderer which are documented in the help. For the more complicated use cases I hope to do some write ups and guides on how to use them (e.g. distributed rendering, animation) but this may take a while. I strongly recommend running the release build as the debug version will be very slow.

pbrt-v3 - Source code for pbrt, the renderer described in the third edition of "Physically Based Rendering: From Theory To Implementation", by Matt Pharr, Wenzel Jakob, and Greg Humphreys

  •    C++

This repository holds the source code to the version of pbrt that is described in the third edition of Physically Based Rendering: From Theory to Implementation, by Matt Pharr, Wenzel Jakob, and Greg Humphreys. As before, the code is available under the BSD license. The pbrt website has general information about both the Physically Based Rendering book as well as many other resources for pbrt. As of October 2018, the full text of the book is now available online, for free.

Cesium - An open-source JavaScript library for world-class 3D globes and maps

  •    Javascript

CesiumJS is a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin. It uses WebGL for hardware-accelerated graphics, and is cross-platform, cross-browser, and tuned for dynamic-data visualization.

UIColor-MLPFlatColors - A category for UIColor that adds flat UI color methods. For iOS.

  •    Objective-C

Although the UIColor class comes with built in convenience methods for producing standard colors, most of these colors are too bright and gaudy for any real use other than prototyping. So, here's a category for UIColor that adds 20 new colors that developers may actually want to use in a real app, based off the current trend of flat color schemes. It's called UIColor+MLPFlatColors. UIColor+MLPFlatColors is a category for UIColor that adds class methods to conveniently produce 20 new colors designed for flat or semi-flat interface designs. It also adds some methods for choosing a random color out of these new colors, and a macro for converting hex values to an RGB color.

polychrome - 🎨 Easy color manipulation in ~2kb (gzipped)

  •    TypeScript

colorString can be a hex (3 or 6 digit), rgb(a), or hsl(a) string. Returns a polychrome object.

CineFX - Professional grade media player

  •    C++

Cinefx is a professional grade media player, based on the jahplayer, that is capable of playing uncompressed video and image sequences at resolutions as high as 2K and 4K in real-time. Cinefx is an offline playback, editing, encoding, animation and visual effects tool based on the Jahshaka technology that allows you to create professional digital media on your desktop. Use the tools that hollywood uses to create blockbuster films and special effects.

css-colorguard - Keep a watchful eye on your css colors.

  •    Javascript

Every CSS project starts out with good intentions, but inevitably, one too many people eye-dropper colors into nooks and crannies that you never knew existed. CSS Colorguard helps you maintain the color set that you want, and warns you when colors you've added are too similar to ones that already exist. Naturally, it's all configurable to your tastes. Colorguard uses the CIEDE2000 algorithm to determine the similarity of each of the colors in your CSS file. This algorithm is quite complex, but is used in the broadcasting community as the best approximation of human ability to discern differences in color. RGB on the other hand, is pretty bad at representing differences in color purely based on the numerical difference of the hex values.


  •    C++

A temperature converter that includes Kelvin conversion.