-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript.js
142 lines (134 loc) · 5.62 KB
/
script.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
get = id => document.getElementById(id);
function author_node(author) {
var span = document.createElement("span");
var a = document.createElement("a");
var sup = document.createElement("sup");
a.textContent = author.name;
a.href = author.email;
sup.textContent = author.footnote.map(String).join(",");
//sup.textContent = author.affiliations.map(String).join(",");
span.appendChild(a);
span.appendChild(sup);
return span
}
function affiliations_node(affiliations) {
var span = document.createElement("span");
span.innerHTML = affiliations.map((affiliation, index) =>
"<sup>" + (index + 1).toString() + "</sup>" + affiliation
).join(", ");
return span
}
function footnote_node(footnotes) {
var span = document.createElement("span");
span.innerHTML = footnotes.map((footnote, index) =>
"<sup>" + (index) + "</sup>" + footnote
).join(", ");
return span
}
function copy_bibtex() {
var range = document.createRange();
range.selectNode(get("bibtex"));
window.getSelection().removeAllRanges();
window.getSelection().addRange(range);
document.execCommand("copy");
window.getSelection().removeAllRanges();
}
function make_site(paper){
document.title = paper.title;
get("title").textContent = paper.title;
//get("conference").textContent = paper.conference;
paper.authors.map((author, index) => {
node = author_node(author);
get("author-list").appendChild(node);
if(index == paper.authors.length - 1) return;
node.innerHTML += ", "
})
get("affiliation-list").appendChild(affiliations_node(paper.affiliations));
//get("abstract").textContent = paper.abstract;
for(var button in paper.URLs) {
node = get(button);
url = paper.URLs[button];
if(url == null) node.remove();
else node.href = url;
}
//get("video").src = paper.URLs.youtube.replace('.be','be.com/embed/');
get("copy-button").onclick = copy_bibtex;
}
function set_slider(root) {
const slidesContainer = root.querySelector(".slides-container");
const slide = root.querySelector(".slide");
const prevButton = root.querySelector(".slide-arrow-prev");
const nextButton = root.querySelector(".slide-arrow-next");
nextButton.addEventListener("click", (event) => {
const slideWidth = slide.clientWidth;
slidesContainer.scrollLeft += slideWidth;
});
prevButton.addEventListener("click", () => {
const slideWidth = slide.clientWidth;
slidesContainer.scrollLeft -= slideWidth;
});
}
sliders = document.getElementsByClassName("slider-wrapper")
for (var i = 0; i < sliders.length; i++) set_slider(sliders[i])
// Read JSON
make_site({
"title": "MatAtlas: Text-driven Consistent Geometry Texturing and Material Assignment",
"conference": "Arxiv",
"authors": [
{
"name": "Duygu Ceylan",
"email": "https://duygu-ceylan.com/",
"affiliations": ["1"],
"footnote": [""]
},
{
"name": "Valentin Deschaintre",
"email": "https://valentin.deschaintre.fr/",
"affiliations": ["1"],
"footnote": ["*"]
},
{
"name": "Thibault Groueix",
"email": "https://imagine.enpc.fr/~groueixt/",
"affiliations": ["1"],
"footnote": ["*"]
},
{
"name": "Rosalie Martin",
"email": "https://research.adobe.com/person/rosalie-martin/",
"affiliations": ["1"],
"footnote": [""]
},
{
"name": "Chun-Hao Huang",
"email": "https://paulchhuang.wixsite.com/chhuang",
"affiliations": ["1"],
"footnote": [""]
},
{
"name": "Romain Rouffet",
"email": "https://research.adobe.com/person/romain-rouffet/",
"affiliations": ["1"],
"footnote": [""]
},
{
"name": "Vladimir Kim",
"email": "http://www.vovakim.com/",
"affiliations": ["1"],
"footnote": [""]
},
{
"name": "Gaëtan Lassagne",
"email": "https://gaetanlassagne.wordpress.com/about/",
"affiliations": ["1"],
"footnote": [""]
},
],
"affiliations": ["Adobe"],
"footnote": ["equal contribution"],
"URLs": {
"arxiv": "https://arxiv.org/abs/2404.02899"
},
"abstract": "We present MatAtlas, a method for consistent text-guided 3D model texturing. Following recent progress we leverage a large scale text-to-image generation model (e.g., Stable Diffusion) as a prior to texture a 3D model. We carefully design an RGB texturing pipeline that leverages a grid pattern diffusion, driven by depth and edges. By proposing a multi-step texture refinement process, we significantly improve the quality and 3D consistency of the texturing output. To further address the problem of baked-in lighting, we move beyond RGB colors and pursue assigning parametric materials to the assets. Given the high-quality initial RGB texture, we propose a novel material retrieval method capitalized on Large Language Models (LLM), enabling editabiliy and relightability. We evaluate our method on a wide variety of geometries and show that our method significantly outperform prior arts. We also analyze the role of each component through a detailed ablation study."
})
//fetch("./paper.json").then(response => response.json).then(json => make_site(json));