Jeremy Reizenstein
e491efb81f
lint things
...
Summary:
Lint related fixes: Improve internal/OSS consistency. Fix the fight between black and certain pyre-ignore markers by moving them to the line before.
Use clang-format-8 automatically if present. Small number of pyre fixes.
arc doesn't run pyre at the moment, so I put back the explicit call to pyre. I don't know if there's an option somewhere to change this.
Reviewed By: nikhilaravi
Differential Revision: D19780518
fbshipit-source-id: ef1c243392322fa074130f6cff2dd8a6f7738a7f
2020-02-21 05:05:06 -08:00
Georgia Gkioxari
a3baa367e3
face areas backward
...
Summary:
Added backward for mesh face areas & normals. Exposed it as a layer. Replaced the computation with the new op in Meshes and in Sample Points.
Current issue: Circular imports. I moved the import of the op in meshes inside the function scope.
Reviewed By: jcjohnson
Differential Revision: D19920082
fbshipit-source-id: d213226d5e1d19a0c8452f4d32771d07e8b91c0a
2020-02-20 11:11:33 -08:00
Patrick Labatut
9ca5489107
Fix spelling of "Gouraud"
...
Summary: Fix spelling of *Gouraud* in [Gouraud shading](https://en.wikipedia.org/wiki/Gouraud_shading ).
Reviewed By: nikhilaravi
Differential Revision: D19943547
fbshipit-source-id: 5c016b7b051a7b33a7b68ed5303b642d9e834bbd
2020-02-20 01:11:56 -08:00
Nikhila Ravi
f0dc65110a
Shader API more consistent naming
...
Summary:
Renamed shaders to be prefixed with Hard/Soft depending on if they use a probabalistic blending (Soft) or use the closest face (Hard).
There is some code duplication but I thought it would be cleaner to have separate shaders for each task rather than:
- inheritance (which we discussed previously that we want to avoid)
- boolean (hard/soft) or a string (hard/soft) - new blending functions other than the ones provided would need if statements in the current shaders which might get messy.
Also added a `flat_shading` function and a `FlatShader` - I could make this into a tutorial as it was really easy to add a new shader and it might be a nice showcase.
NOTE: There are a few more places where the naming will need to change (e.g the tutorials) but I wanted to reach a consensus on this before changing it everywhere.
Reviewed By: jcjohnson
Differential Revision: D19761036
fbshipit-source-id: f972f6530c7f66dc5550b0284c191abc4a7f6fc4
2020-02-19 23:16:50 -08:00
Georgia Gkioxari
60f3c4e7d2
cpp support for packed to padded
...
Summary:
Cpu implementation for packed to padded and added gradients
```
Benchmark Avg Time(μs) Peak Time(μs) Iterations
--------------------------------------------------------------------------------
PACKED_TO_PADDED_2_100_300_1_cpu 138 221 3625
PACKED_TO_PADDED_2_100_300_1_cuda:0 184 261 2716
PACKED_TO_PADDED_2_100_300_16_cpu 555 726 901
PACKED_TO_PADDED_2_100_300_16_cuda:0 179 260 2794
PACKED_TO_PADDED_2_100_3000_1_cpu 396 519 1262
PACKED_TO_PADDED_2_100_3000_1_cuda:0 181 274 2764
PACKED_TO_PADDED_2_100_3000_16_cpu 4517 5003 111
PACKED_TO_PADDED_2_100_3000_16_cuda:0 224 397 2235
PACKED_TO_PADDED_2_1000_300_1_cpu 138 212 3616
PACKED_TO_PADDED_2_1000_300_1_cuda:0 180 282 2775
PACKED_TO_PADDED_2_1000_300_16_cpu 565 711 885
PACKED_TO_PADDED_2_1000_300_16_cuda:0 179 264 2797
PACKED_TO_PADDED_2_1000_3000_1_cpu 389 494 1287
PACKED_TO_PADDED_2_1000_3000_1_cuda:0 180 271 2777
PACKED_TO_PADDED_2_1000_3000_16_cpu 4522 5170 111
PACKED_TO_PADDED_2_1000_3000_16_cuda:0 216 286 2313
PACKED_TO_PADDED_10_100_300_1_cpu 251 345 1995
PACKED_TO_PADDED_10_100_300_1_cuda:0 178 262 2806
PACKED_TO_PADDED_10_100_300_16_cpu 2354 2750 213
PACKED_TO_PADDED_10_100_300_16_cuda:0 178 291 2814
PACKED_TO_PADDED_10_100_3000_1_cpu 1519 1786 330
PACKED_TO_PADDED_10_100_3000_1_cuda:0 179 237 2791
PACKED_TO_PADDED_10_100_3000_16_cpu 24705 25879 21
PACKED_TO_PADDED_10_100_3000_16_cuda:0 228 316 2191
PACKED_TO_PADDED_10_1000_300_1_cpu 261 432 1919
PACKED_TO_PADDED_10_1000_300_1_cuda:0 181 261 2756
PACKED_TO_PADDED_10_1000_300_16_cpu 2349 2770 213
PACKED_TO_PADDED_10_1000_300_16_cuda:0 180 256 2782
PACKED_TO_PADDED_10_1000_3000_1_cpu 1613 1929 310
PACKED_TO_PADDED_10_1000_3000_1_cuda:0 183 253 2739
PACKED_TO_PADDED_10_1000_3000_16_cpu 22041 23653 23
PACKED_TO_PADDED_10_1000_3000_16_cuda:0 220 343 2270
PACKED_TO_PADDED_32_100_300_1_cpu 555 750 901
PACKED_TO_PADDED_32_100_300_1_cuda:0 188 282 2661
PACKED_TO_PADDED_32_100_300_16_cpu 7550 8131 67
PACKED_TO_PADDED_32_100_300_16_cuda:0 181 272 2770
PACKED_TO_PADDED_32_100_3000_1_cpu 4574 6327 110
PACKED_TO_PADDED_32_100_3000_1_cuda:0 173 254 2884
PACKED_TO_PADDED_32_100_3000_16_cpu 70366 72563 8
PACKED_TO_PADDED_32_100_3000_16_cuda:0 349 654 1433
PACKED_TO_PADDED_32_1000_300_1_cpu 612 728 818
PACKED_TO_PADDED_32_1000_300_1_cuda:0 189 295 2647
PACKED_TO_PADDED_32_1000_300_16_cpu 7699 8254 65
PACKED_TO_PADDED_32_1000_300_16_cuda:0 189 311 2646
PACKED_TO_PADDED_32_1000_3000_1_cpu 5105 5261 98
PACKED_TO_PADDED_32_1000_3000_1_cuda:0 191 260 2625
PACKED_TO_PADDED_32_1000_3000_16_cpu 87073 92708 6
PACKED_TO_PADDED_32_1000_3000_16_cuda:0 344 425 1455
--------------------------------------------------------------------------------
Benchmark Avg Time(μs) Peak Time(μs) Iterations
--------------------------------------------------------------------------------
PACKED_TO_PADDED_TORCH_2_100_300_1_cpu 492 627 1016
PACKED_TO_PADDED_TORCH_2_100_300_1_cuda:0 768 975 652
PACKED_TO_PADDED_TORCH_2_100_300_16_cpu 659 804 760
PACKED_TO_PADDED_TORCH_2_100_300_16_cuda:0 781 918 641
PACKED_TO_PADDED_TORCH_2_100_3000_1_cpu 624 734 802
PACKED_TO_PADDED_TORCH_2_100_3000_1_cuda:0 778 929 643
PACKED_TO_PADDED_TORCH_2_100_3000_16_cpu 2609 2850 192
PACKED_TO_PADDED_TORCH_2_100_3000_16_cuda:0 758 901 660
PACKED_TO_PADDED_TORCH_2_1000_300_1_cpu 467 612 1072
PACKED_TO_PADDED_TORCH_2_1000_300_1_cuda:0 772 905 648
PACKED_TO_PADDED_TORCH_2_1000_300_16_cpu 689 839 726
PACKED_TO_PADDED_TORCH_2_1000_300_16_cuda:0 789 1143 635
PACKED_TO_PADDED_TORCH_2_1000_3000_1_cpu 629 735 795
PACKED_TO_PADDED_TORCH_2_1000_3000_1_cuda:0 812 916 616
PACKED_TO_PADDED_TORCH_2_1000_3000_16_cpu 2716 3117 185
PACKED_TO_PADDED_TORCH_2_1000_3000_16_cuda:0 844 1288 593
PACKED_TO_PADDED_TORCH_10_100_300_1_cpu 2387 2557 210
PACKED_TO_PADDED_TORCH_10_100_300_1_cuda:0 4112 4993 122
PACKED_TO_PADDED_TORCH_10_100_300_16_cpu 3385 4254 148
PACKED_TO_PADDED_TORCH_10_100_300_16_cuda:0 3959 4902 127
PACKED_TO_PADDED_TORCH_10_100_3000_1_cpu 2918 3105 172
PACKED_TO_PADDED_TORCH_10_100_3000_1_cuda:0 4054 4450 124
PACKED_TO_PADDED_TORCH_10_100_3000_16_cpu 12748 13623 40
PACKED_TO_PADDED_TORCH_10_100_3000_16_cuda:0 4023 4395 125
PACKED_TO_PADDED_TORCH_10_1000_300_1_cpu 2258 2492 222
PACKED_TO_PADDED_TORCH_10_1000_300_1_cuda:0 3997 4312 126
PACKED_TO_PADDED_TORCH_10_1000_300_16_cpu 3404 3597 147
PACKED_TO_PADDED_TORCH_10_1000_300_16_cuda:0 3877 4227 129
PACKED_TO_PADDED_TORCH_10_1000_3000_1_cpu 2789 3054 180
PACKED_TO_PADDED_TORCH_10_1000_3000_1_cuda:0 3821 4402 131
PACKED_TO_PADDED_TORCH_10_1000_3000_16_cpu 11967 12963 42
PACKED_TO_PADDED_TORCH_10_1000_3000_16_cuda:0 3729 4290 135
PACKED_TO_PADDED_TORCH_32_100_300_1_cpu 6933 8152 73
PACKED_TO_PADDED_TORCH_32_100_300_1_cuda:0 11856 12287 43
PACKED_TO_PADDED_TORCH_32_100_300_16_cpu 9895 11205 51
PACKED_TO_PADDED_TORCH_32_100_300_16_cuda:0 12354 13596 41
PACKED_TO_PADDED_TORCH_32_100_3000_1_cpu 9516 10128 53
PACKED_TO_PADDED_TORCH_32_100_3000_1_cuda:0 12917 13597 39
PACKED_TO_PADDED_TORCH_32_100_3000_16_cpu 41209 43783 13
PACKED_TO_PADDED_TORCH_32_100_3000_16_cuda:0 12210 13288 41
PACKED_TO_PADDED_TORCH_32_1000_300_1_cpu 7179 7689 70
PACKED_TO_PADDED_TORCH_32_1000_300_1_cuda:0 11896 12381 43
PACKED_TO_PADDED_TORCH_32_1000_300_16_cpu 10127 15494 50
PACKED_TO_PADDED_TORCH_32_1000_300_16_cuda:0 12034 12817 42
PACKED_TO_PADDED_TORCH_32_1000_3000_1_cpu 8743 10251 58
PACKED_TO_PADDED_TORCH_32_1000_3000_1_cuda:0 12023 12908 42
PACKED_TO_PADDED_TORCH_32_1000_3000_16_cpu 39071 41777 13
PACKED_TO_PADDED_TORCH_32_1000_3000_16_cuda:0 11999 13690 42
--------------------------------------------------------------------------------
```
Reviewed By: bottler, nikhilaravi, jcjohnson
Differential Revision: D19870575
fbshipit-source-id: 23a2477b73373c411899633386c87ab034c3702a
2020-02-19 10:48:54 -08:00
Nikhila Ravi
8301163d24
transforms 3d convention fix
...
Summary: Fixed the rotation matrices generated by the RotateAxisAngle class and updated the tests. Added documentation for Transforms3d to clarify the conventions.
Reviewed By: gkioxari
Differential Revision: D19912903
fbshipit-source-id: c64926ce4e1381b145811557c32b73663d6d92d1
2020-02-19 10:32:44 -08:00
Nikhila Ravi
97acf16de2
lint fixes
...
Summary: Ran `dev/linter.sh`.
Reviewed By: bottler
Differential Revision: D19761062
fbshipit-source-id: 1a49abe4a5f2bc7641b2b46e254aa77e6a48aa7d
2020-02-13 20:50:48 -08:00
Georgia Gkioxari
29cd181a83
CPU implem for face areas normals
...
Summary:
Added cpu implementation for face areas normals. Moved test and bm to separate functions.
```
Benchmark Avg Time(μs) Peak Time(μs) Iterations
--------------------------------------------------------------------------------
FACE_AREAS_NORMALS_2_100_300_False 196 268 2550
FACE_AREAS_NORMALS_2_100_300_True 106 179 4733
FACE_AREAS_NORMALS_2_100_3000_False 1447 1630 346
FACE_AREAS_NORMALS_2_100_3000_True 107 178 4674
FACE_AREAS_NORMALS_2_1000_300_False 201 309 2486
FACE_AREAS_NORMALS_2_1000_300_True 107 186 4673
FACE_AREAS_NORMALS_2_1000_3000_False 1451 1636 345
FACE_AREAS_NORMALS_2_1000_3000_True 107 186 4655
FACE_AREAS_NORMALS_10_100_300_False 767 918 653
FACE_AREAS_NORMALS_10_100_300_True 106 167 4712
FACE_AREAS_NORMALS_10_100_3000_False 7036 7754 72
FACE_AREAS_NORMALS_10_100_3000_True 113 164 4445
FACE_AREAS_NORMALS_10_1000_300_False 748 947 669
FACE_AREAS_NORMALS_10_1000_300_True 108 169 4638
FACE_AREAS_NORMALS_10_1000_3000_False 7069 7783 71
FACE_AREAS_NORMALS_10_1000_3000_True 108 172 4646
FACE_AREAS_NORMALS_32_100_300_False 2286 2496 219
FACE_AREAS_NORMALS_32_100_300_True 108 180 4631
FACE_AREAS_NORMALS_32_100_3000_False 23184 24369 22
FACE_AREAS_NORMALS_32_100_3000_True 159 213 3147
FACE_AREAS_NORMALS_32_1000_300_False 2414 2645 208
FACE_AREAS_NORMALS_32_1000_300_True 112 197 4480
FACE_AREAS_NORMALS_32_1000_3000_False 21687 22964 24
FACE_AREAS_NORMALS_32_1000_3000_True 141 211 3540
--------------------------------------------------------------------------------
Benchmark Avg Time(μs) Peak Time(μs) Iterations
--------------------------------------------------------------------------------
FACE_AREAS_NORMALS_TORCH_2_100_300_False 5465 5782 92
FACE_AREAS_NORMALS_TORCH_2_100_300_True 1198 1351 418
FACE_AREAS_NORMALS_TORCH_2_100_3000_False 48228 48869 11
FACE_AREAS_NORMALS_TORCH_2_100_3000_True 1186 1304 422
FACE_AREAS_NORMALS_TORCH_2_1000_300_False 5556 6097 90
FACE_AREAS_NORMALS_TORCH_2_1000_300_True 1200 1328 417
FACE_AREAS_NORMALS_TORCH_2_1000_3000_False 48683 50016 11
FACE_AREAS_NORMALS_TORCH_2_1000_3000_True 1185 1306 422
FACE_AREAS_NORMALS_TORCH_10_100_300_False 24215 25097 21
FACE_AREAS_NORMALS_TORCH_10_100_300_True 1150 1314 435
FACE_AREAS_NORMALS_TORCH_10_100_3000_False 232605 234952 3
FACE_AREAS_NORMALS_TORCH_10_100_3000_True 1193 1314 420
FACE_AREAS_NORMALS_TORCH_10_1000_300_False 24912 25343 21
FACE_AREAS_NORMALS_TORCH_10_1000_300_True 1216 1330 412
FACE_AREAS_NORMALS_TORCH_10_1000_3000_False 239907 241253 3
FACE_AREAS_NORMALS_TORCH_10_1000_3000_True 1226 1333 408
FACE_AREAS_NORMALS_TORCH_32_100_300_False 73991 75776 7
FACE_AREAS_NORMALS_TORCH_32_100_300_True 1193 1339 420
FACE_AREAS_NORMALS_TORCH_32_100_3000_False 728932 728932 1
FACE_AREAS_NORMALS_TORCH_32_100_3000_True 1186 1359 422
FACE_AREAS_NORMALS_TORCH_32_1000_300_False 76385 79129 7
FACE_AREAS_NORMALS_TORCH_32_1000_300_True 1165 1310 430
FACE_AREAS_NORMALS_TORCH_32_1000_3000_False 753276 753276 1
FACE_AREAS_NORMALS_TORCH_32_1000_3000_True 1205 1340 415
--------------------------------------------------------------------------------
```
Reviewed By: bottler, jcjohnson
Differential Revision: D19864385
fbshipit-source-id: 3a87ae41a8e3ab5560febcb94961798f2e09dfb8
2020-02-13 11:42:48 -08:00
Jeremy Reizenstein
8fe65d5f56
Single function to load meshes from OBJs. join_meshes.
...
Summary:
Create the textures and the Meshes object from OBJ files in a single call.
There is functionality in OBJ files (like normals) which is ignored by this function.
Reviewed By: gkioxari
Differential Revision: D19691699
fbshipit-source-id: e26442ed80ff231b65b17d6c54c9d41e22b4e4a3
2020-02-13 03:38:07 -08:00
Justin Johnson
e290f87ca9
Add CPU implementation for nearest neighbor
...
Summary:
Adds a CPU implementation for `pytorch3d.ops.nn_points_idx`.
Also renames the associated C++ and CUDA functions to use `AllCaps` names used in other C++ / CUDA code.
Reviewed By: gkioxari
Differential Revision: D19670491
fbshipit-source-id: 1b6409404025bf05e6a93f5d847e35afc9062f05
2020-02-03 10:06:10 -08:00
Georgia Gkioxari
659ad34389
load texture flag
...
Summary: Add flag for loading textures
Reviewed By: nikhilaravi
Differential Revision: D19664437
fbshipit-source-id: 3cc4e6179df9b7e24efff9e7da3b164253f1d775
2020-01-31 13:37:35 -08:00
facebook-github-bot
dbf06b504b
Initial commit
...
fbshipit-source-id: ad58e416e3ceeca85fae0583308968d04e78fe0d
2020-01-23 11:53:46 -08:00