diff --git a/fps.txt b/fps.txt new file mode 100644 index 0000000..466b5d5 --- /dev/null +++ b/fps.txt @@ -0,0 +1,2413 @@ +0 +416666 +118 +146 +208 +188 +262 +210 +147 +194 +190 +141 +195 +169 +161 +189 +139 +144 +179 +169 +187 +190 +200 +218 +192 +216 +203 +236 +220 +188 +218 +218 +246 +173 +206 +224 +168 +237 +220 +222 +206 +214 +243 +186 +202 +228 +252 +177 +126 +206 +210 +218 +269 +199 +203 +192 +234 +169 +228 +235 +188 +218 +266 +219 +185 +235 +258 +186 +180 +213 +253 +181 +208 +218 +202 +213 +232 +224 +187 +226 +200 +174 +202 +227 +261 +191 +198 +220 +203 +213 +225 +225 +179 +203 +265 +204 +195 +184 +199 +162 +224 +207 +170 +193 +213 +144 +184 +230 +174 +171 +180 +144 +168 +169 +180 +187 +167 +154 +187 +192 +168 +204 +210 +185 +207 +240 +170 +204 +223 +211 +198 +229 +267 +179 +180 +228 +198 +189 +218 +207 +161 +203 +249 +197 +204 +223 +222 +193 +242 +253 +197 +201 +234 +234 +134 +185 +158 +157 +182 +161 +165 +198 +168 +169 +189 +159 +180 +204 +165 +187 +222 +196 +192 +197 +263 +168 +185 +244 +190 +210 +224 +259 +187 +200 +257 +202 +183 +242 +256 +175 +202 +244 +212 +183 +226 +204 +161 +206 +254 +186 +191 +232 +246 +155 +221 +226 +170 +207 +252 +101 +172 +169 +156 +173 +146 +169 +175 +150 +177 +182 +152 +151 +129 +144 +136 +126 +159 +110 +128 +115 +164 +155 +154 +204 +136 +187 +201 +147 +199 +165 +161 +180 +156 +150 +205 +151 +154 +194 +150 +185 +186 +147 +156 +179 +165 +181 +141 +130 +154 +137 +182 +161 +171 +199 +224 +194 +248 +256 +189 +189 +227 +216 +183 +230 +245 +191 +211 +237 +266 +198 +231 +240 +212 +204 +215 +234 +201 +211 +258 +243 +196 +219 +249 +185 +215 +249 +216 +184 +206 +249 +211 +182 +208 +226 +196 +205 +233 +239 +225 +212 +258 +239 +221 +222 +259 +209 +205 +236 +274 +204 +188 +233 +239 +200 +213 +236 +206 +172 +232 +218 +190 +216 +261 +201 +195 +220 +237 +177 +221 +217 +180 +208 +251 +245 +174 +205 +264 +189 +195 +254 +218 +202 +209 +251 +211 +211 +218 +251 +211 +193 +244 +204 +197 +232 +243 +221 +217 +203 +238 +196 +215 +225 +224 +195 +215 +252 +223 +152 +207 +200 +203 +223 +241 +192 +197 +217 +203 +137 +234 +188 +174 +234 +242 +179 +206 +214 +192 +196 +214 +185 +202 +229 +257 +151 +158 +199 +164 +162 +182 +139 +198 +162 +156 +198 +179 +158 +192 +170 +157 +180 +159 +173 +225 +162 +146 +223 +155 +175 +197 +155 +160 +164 +111 +140 +118 +161 +118 +174 +165 +152 +210 +173 +145 +185 +145 +181 +207 +152 +178 +206 +162 +184 +197 +148 +186 +194 +127 +140 +143 +179 +197 +157 +171 +199 +145 +161 +240 +180 +248 +173 +196 +205 +254 +270 +194 +194 +241 +227 +193 +171 +215 +209 +236 +251 +240 +207 +227 +247 +198 +196 +263 +248 +195 +216 +244 +233 +192 +227 +249 +186 +179 +260 +235 +196 +209 +242 +205 +207 +211 +259 +213 +211 +247 +246 +200 +205 +233 +270 +195 +230 +217 +209 +188 +226 +246 +206 +220 +212 +194 +224 +244 +250 +207 +187 +254 +241 +186 +216 +257 +215 +197 +237 +258 +188 +192 +256 +253 +197 +207 +252 +227 +209 +237 +267 +203 +188 +254 +242 +192 +199 +236 +244 +192 +214 +225 +215 +198 +210 +241 +202 +243 +244 +236 +222 +209 +246 +207 +213 +238 +242 +204 +193 +240 +227 +180 +189 +256 +172 +181 +204 +175 +148 +204 +152 +183 +221 +116 +128 +100 +91 +99 +136 +154 +198 +152 +168 +198 +131 +143 +147 +166 +209 +168 +159 +215 +160 +148 +207 +143 +167 +190 +155 +163 +166 +164 +196 +178 +162 +198 +171 +167 +209 +168 +148 +184 +151 +167 +211 +153 +178 +206 +146 +189 +199 +146 +189 +183 +168 +203 +219 +160 +181 +211 +126 +143 +160 +158 +215 +197 +204 +232 +245 +197 +216 +228 +217 +216 +218 +203 +188 +220 +228 +214 +189 +230 +254 +212 +204 +255 +256 +171 +204 +242 +230 +207 +221 +243 +199 +205 +229 +246 +213 +195 +239 +197 +212 +237 +240 +195 +218 +242 +219 +203 +225 +252 +211 +219 +243 +238 +205 +214 +216 +249 +177 +207 +176 +130 +151 +156 +146 +183 +171 +187 +230 +221 +208 +241 +253 +214 +183 +241 +253 +189 +209 +232 +218 +210 +208 +243 +202 +218 +238 +226 +193 +236 +245 +209 +225 +236 +241 +205 +205 +245 +243 +196 +134 +250 +193 +195 +222 +218 +212 +238 +235 +194 +197 +264 +214 +188 +219 +251 +221 +210 +227 +263 +191 +183 +227 +214 +201 +208 +226 +183 +206 +245 +147 +209 +220 +269 +189 +214 +226 +157 +151 +206 +157 +163 +195 +137 +176 +189 +157 +158 +178 +149 +193 +162 +167 +204 +159 +164 +197 +146 +157 +164 +127 +207 +171 +156 +195 +150 +164 +200 +119 +188 +186 +155 +178 +156 +157 +168 +168 +181 +194 +149 +169 +115 +110 +115 +134 +128 +129 +210 +156 +159 +203 +143 +180 +223 +178 +202 +202 +202 +220 +230 +264 +192 +211 +240 +223 +195 +212 +245 +206 +226 +234 +234 +154 +234 +251 +188 +199 +275 +238 +198 +222 +235 +229 +188 +234 +257 +198 +209 +247 +258 +184 +193 +213 +229 +212 +224 +241 +182 +207 +240 +224 +219 +226 +241 +214 +212 +226 +247 +207 +220 +243 +246 +198 +212 +237 +213 +170 +231 +232 +195 +198 +272 +243 +190 +223 +243 +226 +204 +199 +245 +180 +181 +209 +174 +178 +197 +159 +190 +250 +229 +201 +231 +257 +203 +209 +247 +242 +192 +214 +256 +239 +194 +226 +244 +216 +206 +220 +252 +210 +207 +245 +253 +201 +189 +226 +222 +200 +226 +269 +204 +189 +240 +250 +189 +176 +231 +176 +193 +247 +226 +166 +209 +229 +190 +222 +241 +194 +206 +227 +225 +163 +174 +195 +142 +167 +174 +160 +182 +153 +147 +194 +169 +158 +186 +152 +166 +212 +139 +174 +208 +151 +170 +176 +152 +185 +161 +168 +214 +163 +158 +206 +152 +162 +201 +137 +174 +193 +158 +180 +188 +151 +184 +168 +157 +196 +180 +170 +187 +164 +177 +190 +167 +165 +184 +163 +170 +205 +174 +170 +178 +152 +164 +160 +161 +191 +198 +196 +194 +224 +182 +210 +272 +238 +191 +208 +259 +196 +201 +221 +284 +189 +202 +210 +190 +164 +236 +227 +202 +234 +254 +205 +198 +263 +261 +191 +198 +256 +245 +190 +186 +189 +192 +225 +228 +240 +199 +230 +228 +198 +217 +242 +243 +197 +220 +251 +242 +187 +215 +254 +216 +211 +206 +255 +196 +181 +244 +251 +181 +106 +215 +212 +244 +240 +173 +217 +203 +155 +214 +247 +243 +170 +215 +248 +181 +231 +237 +244 +206 +216 +246 +221 +223 +223 +247 +214 +223 +225 +247 +205 +208 +213 +250 +198 +232 +218 +203 +197 +251 +247 +202 +197 +215 +193 +181 +223 +268 +194 +219 +251 +265 +177 +206 +232 +214 +199 +228 +252 +161 +237 +238 +199 +191 +254 +244 +174 +204 +238 +215 +194 +223 +222 +116 +148 +108 +141 +124 +129 +128 +150 +187 +152 +167 +209 +144 +188 +226 +131 +161 +169 +148 +207 +149 +164 +192 +156 +188 +155 +99 +142 +128 +191 +154 +170 +213 +152 +172 +193 +137 +176 +194 +143 +187 +164 +167 +188 +164 +164 +209 +153 +177 +191 +151 +175 +185 +146 +179 +208 +147 +160 +208 +153 +176 +261 +168 +205 +216 +186 +211 +234 +262 +157 +226 +255 +176 +178 +261 +196 +172 +217 +245 +175 +233 +233 +190 +176 +258 +238 +180 +210 +272 +208 +200 +208 +269 +176 +206 +227 +258 +185 +219 +239 +204 +217 +210 +245 +175 +229 +254 +237 +183 +242 +256 +192 +211 +243 +261 +184 +187 +265 +228 +188 +219 +267 +193 +197 +222 +266 +172 +226 +250 +232 +184 +220 +251 +179 +229 +242 +210 +186 +245 +236 +201 +221 +255 +225 +185 +216 +258 +211 +179 +218 +243 +194 +205 +221 +277 +193 +212 +214 +199 +210 +221 +241 +194 +218 +259 +240 +195 +234 +252 +219 +196 +229 +229 +181 +196 +264 +211 +178 +221 +265 +182 +204 +225 +210 +189 +213 +237 +180 +212 +246 +187 +187 +234 +236 +133 +176 +202 +145 +193 +144 +155 +202 +166 +159 +209 +147 +150 +213 +148 +162 +178 +131 +216 +169 +158 +185 +160 +148 +187 +143 +164 +178 +147 +192 +164 +151 +199 +150 +174 +205 +160 +165 +201 +140 +187 +171 +132 +192 +191 +174 +193 +95 +197 +198 +153 +176 +209 +143 +173 +181 +168 +207 +221 +193 +220 +232 +214 +211 +234 +253 +220 +200 +242 +249 +204 +173 +214 +194 +181 +235 +248 +168 +207 +250 +191 +212 +250 +275 +204 +215 +238 +209 +207 +217 +232 +184 +200 +231 +211 +196 +219 +255 +184 +204 +257 +247 +190 +205 +247 +236 +214 +220 +266 +212 +209 +226 +267 +197 +196 +236 +272 +201 +211 +209 +214 +191 +234 +248 +210 +204 +246 +241 +189 +208 +252 +212 +186 +242 +238 +186 +199 +245 +193 +200 +224 +274 +172 +220 +246 +260 +188 +206 +236 +185 +225 +207 +178 +152 +216 +175 +173 +197 +188 +205 +209 +223 +196 +222 +204 +197 +187 +220 +252 +195 +198 +210 +205 +208 +207 +221 +181 +207 +238 +201 +170 +217 +262 +165 +207 +214 +186 +194 +253 +207 +192 +202 +261 +170 +211 +233 +170 +143 +200 +158 +155 +184 +128 +172 +169 +156 +198 +179 +157 +178 +157 +168 +188 +154 +179 +178 +146 +178 +202 +152 +204 +201 +154 +178 +202 +159 +177 +195 +151 +205 +212 +154 +187 +217 +149 +193 +194 +132 +186 +167 +157 +198 +165 +170 +200 +165 +176 +201 +173 +157 +205 +165 +153 +190 +151 +175 +209 +161 +213 +206 +177 +212 +219 +228 +192 +237 +226 +195 +210 +192 +248 +194 +170 +197 +175 +139 +205 +220 +233 +249 +240 +218 +212 +232 +187 +213 +239 +204 +175 +195 +208 +169 +219 +200 +173 +189 +255 +228 +197 +220 +251 +199 +208 +231 +232 +207 +216 +234 +216 +214 +216 +225 +205 +227 +221 +226 +183 +224 +244 +217 +197 +233 +256 +190 +209 +256 +239 +180 +227 +271 +239 +197 +231 +243 +197 +197 +232 +254 +172 +210 +245 +202 +227 +232 +254 +213 +209 +221 +214 +165 +223 +247 +201 +193 +263 +231 +190 +222 +229 +216 +198 +240 +254 +208 +208 +222 +269 +193 +196 +243 +220 +213 +206 +248 +198 +195 +252 +260 +194 +174 +244 +175 +199 +243 +252 +176 +205 +231 +204 +181 +238 +220 +193 +223 +223 +141 +164 +191 +143 +170 +170 +154 +191 +172 +154 +199 +141 +132 +134 +132 +150 +122 +160 +133 +170 +166 +146 +193 +174 +154 +191 +166 +162 +190 +164 +152 +194 +154 +167 +192 +159 +167 +162 +148 +206 +172 +158 +195 +164 +169 +182 +156 +187 +204 +169 +172 +191 +148 +157 +193 +153 +189 +179 +138 +182 +205 +180 +206 +225 +174 +216 +236 +220 +216 +210 +238 +199 +189 +193 +191 +169 +192 +175 +156 +223 +240 +199 +212 +264 +215 +209 +250 +259 +207 +203 +245 +273 +196 +200 +240 +198 +217 +210 +224 +163 +206 +262 +197 +182 +235 +270 +190 +214 +236 +249 +202 +223 +253 +206 +217 +203 +252 +206 +208 +211 +252 +208 +215 +240 +208 +207 +216 +256 +181 +222 +220 +221 +201 +247 +253 +188 +210 +273 +263 +177 +187 +257 +212 +59 +212 +238 +239 +183 +205 +235 +219 +203 +208 +252 +204 +201 +205 +242 +198 +206 +241 +243 +211 +212 +249 +206 +225 +234 +253 +216 +196 +224 +213 +222 +219 +231 +198 +188 +242 +226 +181 +205 +251 +215 +191 +234 +260 +185 +199 +234 +255 +195 +217 +251 +144 +165 +211 +148 +178 +216 +121 +179 +168 +163 +198 +179 +162 +178 +160 +174 +181 +154 +156 +194 +158 +158 +175 +151 +178 +170 +147 +191 +154 +154 +209 +141 +180 +196 +152 +191 +207 +148 +178 +194 +127 +204 +178 +165 +202 +164 +177 +199 +187 +166 +198 +167 +162 +201 +143 +166 +186 +152 +170 +202 +159 +206 +245 +203 +172 +207 +227 +196 +213 +235 +199 +210 +245 +254 +167 +235 +222 +194 +169 +231 +243 +201 +216 +256 +220 +173 +203 +194 +179 +219 +209 +178 +213 +243 +170 +225 +223 +213 +191 +239 +251 +204 +200 +229 +230 +206 +201 +183 +212 +204 +213 +233 +185 +206 +253 +201 +208 +196 +271 +177 +200 +239 +245 +197 +216 +245 +195 +176 +235 +246 +195 +196 +237 +220 +187 +265 +253 +192 +205 +249 +233 +169 +215 +272 +190 +202 +243 +265 +152 +211 +215 +182 +205 +254 +230 +188 +221 +252 +188 +189 +211 +170 +203 +223 +237 +198 +206 +262 +237 +192 +202 +269 +201 +184 +246 +249 +188 +191 +237 +218 +193 +225 +236 +162 +198 +228 +187 +180 +203 +226 +192 +221 +251 +171 +198 +263 +153 +138 +208 +155 +169 +171 +141 +149 +189 +160 +188 +163 +167 +174 +141 +159 +199 +157 +179 +202 +152 +164 +180 +170 +187 +179 +153 +206 +210 +156 +189 +179 +152 +214 +160 +163 +203 +158 +171 +189 +144 +177 +189 +160 +188 +190 +139 +172 +201 +163 +206 +198 +158 +166 +211 +153 +173 +187 +154 +182 +186 +172 +211 +223 +143 +200 +244 +183 +195 +278 +201 +198 +256 +255 +205 +207 +238 +250 +170 +197 +251 +225 +179 +223 +230 +204 +213 +236 +222 +158 +206 +246 +186 +208 +238 +200 +211 +234 +243 +208 +195 +228 +205 +229 +216 +230 +196 +228 +226 +243 +194 +226 +219 +214 +205 +177 +256 +200 +205 +253 +268 +186 +197 +255 +234 +210 +226 +265 +204 +208 +250 +272 +178 +214 +248 +250 +186 +228 +263 +209 +190 +207 +209 +203 +232 +243 +221 +219 +221 +251 +191 +207 +231 +218 +172 +203 +227 +204 +203 +222 +277 +196 +210 +219 +234 +196 +185 +206 +199 +225 +253 +214 +195 +181 +257 +199 +210 +232 +237 +202 +213 +227 +186 +203 +222 +185 +183 +200 +266 +178 +199 +244 +200 +210 +232 +220 +162 +224 +238 +142 +165 +193 +147 +168 +157 +160 +199 +178 +155 +194 +174 +164 +187 +177 +151 +198 +163 +146 +173 +107 +101 +112 +108 +107 +104 +111 +109 +114 +105 +94 +103 +143 +148 +188 +145 +162 +179 +141 +174 +155 +160 +185 +157 +184 +187 +153 +163 +183 diff --git a/imgui.ini b/imgui.ini index 8c0c8f5..d0bc36c 100644 --- a/imgui.ini +++ b/imgui.ini @@ -11,7 +11,7 @@ Pos=1648,207 Size=266,285 [Window][Fog settings] -Pos=1640,500 +Pos=1643,500 Size=247,157 [Window][Debug] @@ -19,6 +19,6 @@ Pos=1642,668 Size=260,143 [Window][Debug BVH] -Pos=1639,663 +Pos=1639,664 Size=274,205 diff --git a/scenes/dragon.rt b/scenes/dragon.rt index e96d5c7..afda352 100644 --- a/scenes/dragon.rt +++ b/scenes/dragon.rt @@ -26,5 +26,5 @@ qu -1 1.999 -1 2 0 0 0 0 2 6 OBJ obj/Dragon_80K.obj -po -1.99 -0.5 -0.5 0 1 0 0 0 1 1 4 -po -0.5 -0.5 -1.99 0 1 0 1 0 0 0 4 +# po -1.99 -0.5 -0.5 0 1 0 0 0 1 1 4 +# po -0.5 -0.5 -1.99 0 1 0 1 0 0 0 4 diff --git a/shaders/trace.glsl b/shaders/trace.glsl index 373bab4..650ea31 100644 --- a/shaders/trace.glsl +++ b/shaders/trace.glsl @@ -31,30 +31,24 @@ hitInfo traceScene(Ray ray) { hitInfo hit; - // for (int p = 0; p < 25; p++) //portals - // { - hit.t = 1e30; - hit.obj_index = -1; - - for (int i = 0; i < u_objectsNum; i++) - { - GPUObject obj = objects[i]; + hit.t = 1e30; + hit.obj_index = -1; + + for (int i = 0; i < u_objectsNum; i++) + { + GPUObject obj = objects[i]; - hitInfo temp_hit; - if (intersect(ray, obj, temp_hit) && temp_hit.t > 0.0f && temp_hit.t < hit.t + 0.0001) - { - hit.t = temp_hit.t; - hit.last_t = temp_hit.last_t; - hit.obj_index = i; - hit.mat_index = obj.mat_index; - hit.position = temp_hit.position; - hit.normal = temp_hit.normal; - } + hitInfo temp_hit; + if (intersect(ray, obj, temp_hit) && temp_hit.t < hit.t) + { + hit.t = temp_hit.t; + hit.last_t = temp_hit.last_t; + hit.obj_index = i; + hit.mat_index = obj.mat_index; + hit.position = temp_hit.position; + hit.normal = temp_hit.normal; } - // if (hit.obj_index == -1 || objects[hit.obj_index].type != 5) - // break ; - // ray = portalRay(ray, hit); - // } + } return (hit); } @@ -134,11 +128,15 @@ hitInfo traceRay(Ray ray) { hitBVH = traceBVH(ray); hitScene = traceScene(ray); - + hit = hitBVH.t < hitScene.t ? hitBVH : hitScene; - if (hit.obj_index == -1 || objects[hit.obj_index].type != 5) - break ; - ray = portalRay(ray, hit); + #if 0 + if (hit.obj_index == -1 || objects[hit.obj_index].type != 5) + break ; + ray = portalRay(ray, hit); + #else + return (hit); + #endif } return (hit);