Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
diff-gaussian-rasterization
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Alan de Oliveira
diff-gaussian-rasterization
Commits
c8e8b637
Commit
c8e8b637
authored
Jun 14, 2023
by
Bernhard Kerbl
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Linux fix
parent
bd2b368f
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
11 additions
and
11 deletions
+11
-11
auxiliary.h
cuda_rasterizer/auxiliary.h
+11
-11
No files found.
cuda_rasterizer/auxiliary.h
View file @
c8e8b637
...
@@ -26,12 +26,12 @@ __device__ constexpr float SH_C3[] = {
...
@@ -26,12 +26,12 @@ __device__ constexpr float SH_C3[] = {
-
0
.
5900435899266435
f
-
0
.
5900435899266435
f
};
};
__forceinline
__device__
float
ndc2Pix
(
float
v
,
int
S
)
__forceinline
__
__device__
float
ndc2Pix
(
float
v
,
int
S
)
{
{
return
((
v
+
1
.
0
)
*
S
-
1
.
0
)
*
0
.
5
;
return
((
v
+
1
.
0
)
*
S
-
1
.
0
)
*
0
.
5
;
}
}
__forceinline
__device__
void
getRect
(
const
float2
p
,
int
max_radius
,
uint2
&
rect_min
,
uint2
&
rect_max
,
dim3
grid
)
__forceinline
__
__device__
void
getRect
(
const
float2
p
,
int
max_radius
,
uint2
&
rect_min
,
uint2
&
rect_max
,
dim3
grid
)
{
{
rect_min
=
{
rect_min
=
{
min
(
grid
.
x
,
max
((
int
)
0
,
(
int
)((
p
.
x
-
max_radius
)
/
BLOCK_X
))),
min
(
grid
.
x
,
max
((
int
)
0
,
(
int
)((
p
.
x
-
max_radius
)
/
BLOCK_X
))),
...
@@ -43,7 +43,7 @@ __forceinline __device__ void getRect(const float2 p, int max_radius, uint2& rec
...
@@ -43,7 +43,7 @@ __forceinline __device__ void getRect(const float2 p, int max_radius, uint2& rec
};
};
}
}
__forceinline
__device__
float3
transformPoint4x3
(
const
float3
&
p
,
const
float
*
matrix
)
__forceinline
__
__device__
float3
transformPoint4x3
(
const
float3
&
p
,
const
float
*
matrix
)
{
{
float3
transformed
=
{
float3
transformed
=
{
matrix
[
0
]
*
p
.
x
+
matrix
[
4
]
*
p
.
y
+
matrix
[
8
]
*
p
.
z
+
matrix
[
12
],
matrix
[
0
]
*
p
.
x
+
matrix
[
4
]
*
p
.
y
+
matrix
[
8
]
*
p
.
z
+
matrix
[
12
],
...
@@ -53,7 +53,7 @@ __forceinline __device__ float3 transformPoint4x3(const float3& p, const float*
...
@@ -53,7 +53,7 @@ __forceinline __device__ float3 transformPoint4x3(const float3& p, const float*
return
transformed
;
return
transformed
;
}
}
__forceinline
__device__
float4
transformPoint4x4
(
const
float3
&
p
,
const
float
*
matrix
)
__forceinline
__
__device__
float4
transformPoint4x4
(
const
float3
&
p
,
const
float
*
matrix
)
{
{
float4
transformed
=
{
float4
transformed
=
{
matrix
[
0
]
*
p
.
x
+
matrix
[
4
]
*
p
.
y
+
matrix
[
8
]
*
p
.
z
+
matrix
[
12
],
matrix
[
0
]
*
p
.
x
+
matrix
[
4
]
*
p
.
y
+
matrix
[
8
]
*
p
.
z
+
matrix
[
12
],
...
@@ -64,7 +64,7 @@ __forceinline __device__ float4 transformPoint4x4(const float3& p, const float*
...
@@ -64,7 +64,7 @@ __forceinline __device__ float4 transformPoint4x4(const float3& p, const float*
return
transformed
;
return
transformed
;
}
}
__forceinline
__device__
float3
transformVec4x3
(
const
float3
&
p
,
const
float
*
matrix
)
__forceinline
__
__device__
float3
transformVec4x3
(
const
float3
&
p
,
const
float
*
matrix
)
{
{
float3
transformed
=
{
float3
transformed
=
{
matrix
[
0
]
*
p
.
x
+
matrix
[
4
]
*
p
.
y
+
matrix
[
8
]
*
p
.
z
,
matrix
[
0
]
*
p
.
x
+
matrix
[
4
]
*
p
.
y
+
matrix
[
8
]
*
p
.
z
,
...
@@ -74,7 +74,7 @@ __forceinline __device__ float3 transformVec4x3(const float3& p, const float* ma
...
@@ -74,7 +74,7 @@ __forceinline __device__ float3 transformVec4x3(const float3& p, const float* ma
return
transformed
;
return
transformed
;
}
}
__forceinline
__device__
float3
transformVec4x3Transpose
(
const
float3
&
p
,
const
float
*
matrix
)
__forceinline
__
__device__
float3
transformVec4x3Transpose
(
const
float3
&
p
,
const
float
*
matrix
)
{
{
float3
transformed
=
{
float3
transformed
=
{
matrix
[
0
]
*
p
.
x
+
matrix
[
1
]
*
p
.
y
+
matrix
[
2
]
*
p
.
z
,
matrix
[
0
]
*
p
.
x
+
matrix
[
1
]
*
p
.
y
+
matrix
[
2
]
*
p
.
z
,
...
@@ -84,7 +84,7 @@ __forceinline __device__ float3 transformVec4x3Transpose(const float3& p, const
...
@@ -84,7 +84,7 @@ __forceinline __device__ float3 transformVec4x3Transpose(const float3& p, const
return
transformed
;
return
transformed
;
}
}
__forceinline
__device__
float
dnormvdz
(
float3
v
,
float3
dv
)
__forceinline
__
__device__
float
dnormvdz
(
float3
v
,
float3
dv
)
{
{
float
sum2
=
v
.
x
*
v
.
x
+
v
.
y
*
v
.
y
+
v
.
z
*
v
.
z
;
float
sum2
=
v
.
x
*
v
.
x
+
v
.
y
*
v
.
y
+
v
.
z
*
v
.
z
;
float
invsum32
=
1
.
0
f
/
sqrt
(
sum2
*
sum2
*
sum2
);
float
invsum32
=
1
.
0
f
/
sqrt
(
sum2
*
sum2
*
sum2
);
...
@@ -92,7 +92,7 @@ __forceinline __device__ float dnormvdz(float3 v, float3 dv)
...
@@ -92,7 +92,7 @@ __forceinline __device__ float dnormvdz(float3 v, float3 dv)
return
dnormvdz
;
return
dnormvdz
;
}
}
__forceinline
__device__
float3
dnormvdv
(
float3
v
,
float3
dv
)
__forceinline
__
__device__
float3
dnormvdv
(
float3
v
,
float3
dv
)
{
{
float
sum2
=
v
.
x
*
v
.
x
+
v
.
y
*
v
.
y
+
v
.
z
*
v
.
z
;
float
sum2
=
v
.
x
*
v
.
x
+
v
.
y
*
v
.
y
+
v
.
z
*
v
.
z
;
float
invsum32
=
1
.
0
f
/
sqrt
(
sum2
*
sum2
*
sum2
);
float
invsum32
=
1
.
0
f
/
sqrt
(
sum2
*
sum2
*
sum2
);
...
@@ -104,7 +104,7 @@ __forceinline __device__ float3 dnormvdv(float3 v, float3 dv)
...
@@ -104,7 +104,7 @@ __forceinline __device__ float3 dnormvdv(float3 v, float3 dv)
return
dnormvdv
;
return
dnormvdv
;
}
}
__forceinline
__device__
float4
dnormvdv
(
float4
v
,
float4
dv
)
__forceinline
__
__device__
float4
dnormvdv
(
float4
v
,
float4
dv
)
{
{
float
sum2
=
v
.
x
*
v
.
x
+
v
.
y
*
v
.
y
+
v
.
z
*
v
.
z
+
v
.
w
*
v
.
w
;
float
sum2
=
v
.
x
*
v
.
x
+
v
.
y
*
v
.
y
+
v
.
z
*
v
.
z
+
v
.
w
*
v
.
w
;
float
invsum32
=
1
.
0
f
/
sqrt
(
sum2
*
sum2
*
sum2
);
float
invsum32
=
1
.
0
f
/
sqrt
(
sum2
*
sum2
*
sum2
);
...
@@ -119,12 +119,12 @@ __forceinline __device__ float4 dnormvdv(float4 v, float4 dv)
...
@@ -119,12 +119,12 @@ __forceinline __device__ float4 dnormvdv(float4 v, float4 dv)
return
dnormvdv
;
return
dnormvdv
;
}
}
__forceinline
__device__
float
sigmoid
(
float
x
)
__forceinline
__
__device__
float
sigmoid
(
float
x
)
{
{
return
1
.
0
f
/
(
1
.
0
f
+
expf
(
-
x
));
return
1
.
0
f
/
(
1
.
0
f
+
expf
(
-
x
));
}
}
__forceinline
__device__
bool
in_frustum
(
int
idx
,
__forceinline
__
__device__
bool
in_frustum
(
int
idx
,
const
float
*
orig_points
,
const
float
*
orig_points
,
const
float
*
viewmatrix
,
const
float
*
viewmatrix
,
const
float
*
projmatrix
,
const
float
*
projmatrix
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment