Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge from dev #44

Merged
merged 2 commits into from
Dec 5, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.DS_Store
Binary file not shown.
Binary file added data/materials/coffee/coffee-reference-01.dng
Binary file not shown.
Binary file added data/materials/coffee/coffee-reference-01.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion deploy/assets/css/styles.min.css

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion deploy/assets/js/web-components.min.js

Large diffs are not rendered by default.

138 changes: 135 additions & 3 deletions deploy/materials.json
Original file line number Diff line number Diff line change
Expand Up @@ -243,6 +243,25 @@
"https://raw.githubusercontent.com/AntonPalmqvist/physically-based-api/main/reference/render/cobalt-cycles.png"
]
},
{
"name": "Coffee",
"color": [0.027, 0.019, 0.018],
"metalness": 0,
"roughness": 0,
"ior": 1.33,
"subsurfaceRadius": [10, 5, 1],
"density": 1000,
"viscosity": 1.002,
"category": ["Liquid"],
"description": "",
"sources": [
"https://github.com/AntonPalmqvist/physically-based-api/tree/main/data/materials/coffee/"
],
"tags": [""],
"reference": [
"https://raw.githubusercontent.com/AntonPalmqvist/physically-based-api/main/reference/render/coffee-cycles.png"
]
},
{
"name": "Concrete",
"color": [0.51, 0.51, 0.51],
Expand Down Expand Up @@ -407,6 +426,28 @@
"https://raw.githubusercontent.com/AntonPalmqvist/physically-based-api/main/reference/render/eye-sclera-cycles.png"
]
},
{
"name": "Gasoline",
"color": [1, 0.97, 0.617],
"metalness": 0,
"roughness": 0,
"ior": 1.427,
"transmission": 1,
"density": 770,
"viscosity": 0.6,
"category": ["Liquid"],
"description": "",
"sources": [
"https://en.wikipedia.org/wiki/Gasoline",
"https://www.researchgate.net/figure/Refractive-index-of-fuels-33-34_tbl1_277419833",
"https://www.engineeringtoolbox.com/fuels-densities-specific-volumes-d_166.html",
"http://hyperphysics.phy-astr.gsu.edu/hbase/Tables/viscosity.html"
],
"tags": ["petrol", "fuel"],
"reference": [
"https://raw.githubusercontent.com/AntonPalmqvist/physically-based-api/main/reference/render/gasoline-cycles.png"
]
},
{
"name": "Glass",
"color": [1, 1, 1],
Expand Down Expand Up @@ -543,14 +584,13 @@
"color": [0.164, 0.006, 0.002],
"metalness": 0,
"roughness": 0.1,
"ior": 1.4,
"ior": 1.3,
"subsurfaceRadius": [0.476, 0.058, 0.039],
"density": 1150,
"viscosity": 50000,
"category": ["Organic"],
"description": "",
"sources": [
"https://docs.arnoldrenderer.com/display/A5AFMUG/Subsurface",
"https://help.autodesk.com/view/ARNOL/ENU/?guid=arnold_user_guide_ac_standard_surface_ac_standard_subsurface_html",
"https://graphics.stanford.edu/papers/bssrdf/bssrdf.pdf",
"https://renderman.pixar.com/resources/RenderMan_20/subsurface.html",
Expand Down Expand Up @@ -689,6 +729,55 @@
"https://raw.githubusercontent.com/AntonPalmqvist/physically-based-api/main/reference/render/office-paper-cycles.png"
]
},
{
"name": "Pearl",
"color": [0.8, 0.75, 0.7],
"metalness": 0,
"roughness": 0.35,
"ior": 1.68,
"subsurfaceRadius": [0.3, 0.5, 0.3],
"thinFilmThickness": 420,
"thinFilmIor": 2,
"density": 0,
"category": ["Organic"],
"description": "The akoya pearl is a saltwater cultured pearl from the akoya oyster. Akoya are considered to be the classic pearl used for necklaces and other pearl jewelry. Nacre is the material of which pearls are composed and consists of aragonite crystal layers separated by conchiolin, a protein secreted by mollusk shells. The thickness of these layers determines the color of reflection from the nacre. The transmission interference color is complementary to the reflection interference color.",
"sources": [
"https://www.nature.com/articles/s41598-021-94737-w",
"https://rgl.s3.eu-central-1.amazonaws.com/media/papers/Guillen2020Pearlescent.pdf",
"https://www.gemstones-guide.com/Pearl.html",
"https://www.gemsociety.org/article/pearl-jewelry-and-gemstone-information/",
"https://refractiveindex.info/?shelf=main&book=CaCO3&page=Ghosh-o",
"https://en.wikipedia.org/wiki/Nacre"
],
"tags": ["nacre"],
"reference": [
"https://raw.githubusercontent.com/AntonPalmqvist/physically-based-api/main/reference/render/pearl-arnold.png"
]
},
{
"name": "Petroleum",
"color": [0.03, 0.027, 0.024],
"metalness": 0,
"roughness": 0,
"ior": 1.5,
"subsurfaceRadius": [3, 1, 0.25],
"density": 920,
"densityRange": [870, 1000],
"viscosity": 100,
"category": ["Liquid"],
"description": "The viscosity of crude oil is sensitive to temperature.",
"sources": [
"https://en.wikipedia.org/wiki/Petroleum",
"https://en.wikipedia.org/wiki/API_gravity",
"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9922782/",
"https://www.sciencedirect.com/science/article/abs/pii/S1350449520305636",
"https://www.sciencedirect.com/science/article/pii/S003442572200133X"
],
"tags": ["oil", "crude oil"],
"reference": [
"https://raw.githubusercontent.com/AntonPalmqvist/physically-based-api/main/reference/render/petroleum-cycles.png"
]
},
{
"name": "Plastic (PC)",
"color": [1, 1, 1],
Expand Down Expand Up @@ -808,6 +897,27 @@
"https://raw.githubusercontent.com/AntonPalmqvist/physically-based-api/main/reference/render/platinum-cycles.png"
]
},
{
"name": "Polyurethane",
"color": [1, 1, 1],
"metalness": 0,
"roughness": 0,
"ior": 1.6,
"transmission": 1,
"density": 0,
"category": ["Plastic"],
"description": "Modern car paints are nearly always an acrylic polyurethane \"enamel\" with a pigmented basecoat and a clear topcoat. It may be described as \"acrylic\", \"acrylic enamel\", \"urethane\", etc. and the clearcoat in particular may be described as a lacquer.",
"sources": [
"https://en.wikipedia.org/wiki/Automotive_paint",
"https://en.wikipedia.org/wiki/Lacquer#Acrylic_lacquers",
"https://hal.science/hal-04030017/document",
"https://patentscope.wipo.int/search/en/detail.jsf?docId=WO2011163461"
],
"tags": ["acrylic", "coat", "car paint", "lacquer"],
"reference": [
"https://raw.githubusercontent.com/AntonPalmqvist/physically-based-api/main/reference/render/polyurethane-cycles.png"
]
},
{
"name": "Salt",
"color": [0.8, 0.8, 0.8],
Expand Down Expand Up @@ -1072,13 +1182,35 @@
"sources": [
"https://seblagarde.wordpress.com/2011/08/17/feeding-a-physical-based-lighting-mode/",
"https://refractiveindex.info/?shelf=3d&book=crystals&page=ice",
"http://mapleintegration.com/sound_ab.php"
"https://web.archive.org/web/20230605174450/http://mapleintegration.com/sound_ab.php"
],
"tags": ["ice"],
"reference": [
"https://raw.githubusercontent.com/AntonPalmqvist/physically-based-api/main/reference/render/snow-cycles.png"
]
},
{
"name": "Soap Bubble",
"color": [1, 1, 1],
"metalness": 0,
"roughness": 0,
"ior": 1,
"transmission": 1,
"thinFilmThickness": 500,
"thinFilmIor": 1.4,
"density": 0,
"category": ["Organic"],
"description": "The colors of a soap bubble are the result of an interaction between the light reflected from the front and back surfaces of the soap film, a phenomenon known as thin-film interference. The thickness of a soap bubble can range between 10 nm and 1000 nm. It's thinner at the top due to gravity.",
"sources": [
"https://help.autodesk.com/view/ARNOL/ENU/?guid=arnold_user_guide_ac_standard_surface_ac_standard_thinfilm_html",
"https://soapbubble.fandom.com/wiki/Color_and_Film_Thickness",
"https://en.wikipedia.org/wiki/Thin-film_interference#Soap_bubble"
],
"tags": [""],
"reference": [
"https://raw.githubusercontent.com/AntonPalmqvist/physically-based-api/main/reference/render/soap-bubble-arnold.png"
]
},
{
"name": "Tire",
"color": [0.023, 0.023, 0.023],
Expand Down
9 changes: 8 additions & 1 deletion deploy/openapi-schema.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
openapi: 3.1.0
info:
version: '1.1'
version: '1.2'
title: Physically Based API
description: |-
This is a database of physically based values for CG artists.
Expand Down Expand Up @@ -120,6 +120,13 @@ components:
maxItems: 6
items:
type: number
thin_film_thickness:
type: number
description: The thickness of the thin film layer on the base (in nanometers).
thin_film_ior:
type: number
description: The index of refraction of the thin-film.
default: 1.5
density:
type: number
description: Density measured in kg/m3.
Expand Down
Binary file added reference/render/coffee-cycles.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added reference/render/gasoline-cycles.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added reference/render/pearl-arnold.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added reference/render/petroleum-cycles.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added reference/render/polyurethane-cycles.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added reference/render/soap-bubble-arnold.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 10 additions & 0 deletions schema-materials.json
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,16 @@
"minItems": 6,
"maxItems": 6
},
"thinFilmThickness": {
"description": "The thickness of the thin film layer on the base (in nanometers).",
"type": "number",
"default": 0
},
"thinFilmIor": {
"description": "The index of refraction of the thin-film.",
"type": "number",
"default": 1.5
},
"density": {
"description": "Density measured in kg/m3.",
"type": "number",
Expand Down