Azure Kinect × 셀에서 점 크기를 변경하는 방법
입문
아니오, 이거 안 돼요?이렇게 막혔어요.
같은 벽에 부딪힌 사람이 많은 것 같으니 보도해 보세요.
곤란한 일
AzureKinect에서 가져온 점 구름의 PointSize 입자 비율을 변경할 수 없습니다.)
구체적으로 말하면 VertexShader의 PSIZE 값을 변경해도 화면에 아무런 변화가 없음...곤란해.
카메라가 다가오면 이런 느낌이에요.
PointSize가 1로 고정된 느낌입니다.
완성된 일
AzureKinect에서 가져온 Depth 이미지의 PointSize를 변경할 수 있습니다.
이런 느낌.이해하기 쉽도록 PointSize를 5로 설정합니다.
PointSize를 1에서 2로 변경해도 전혀 다릅니다.
왜 그래?
네.
버텍스의 입자 크기는 PSIZE로 변경할 수 있다는 인식으로 만났지만 DX11 이후 무효화된 수수께끼 변경은 소용이 없었다.Quest를 OpenGL로 바꿀 수 있는데...일로 @Looking Glass & Azure Kinect(@asidys230)October 24, 2019
같은 고민을 하는 사람이 있다.
DX11 PSIZE Bug, PLEASE HELP! - Unity Forum
AzureKinect에서 가져온 점 구름의 PointSize 입자 비율을 변경할 수 없습니다.)
구체적으로 말하면 VertexShader의 PSIZE 값을 변경해도 화면에 아무런 변화가 없음...곤란해.
카메라가 다가오면 이런 느낌이에요.
PointSize가 1로 고정된 느낌입니다.
완성된 일
AzureKinect에서 가져온 Depth 이미지의 PointSize를 변경할 수 있습니다.
이런 느낌.이해하기 쉽도록 PointSize를 5로 설정합니다.
PointSize를 1에서 2로 변경해도 전혀 다릅니다.
왜 그래?
네.
버텍스의 입자 크기는 PSIZE로 변경할 수 있다는 인식으로 만났지만 DX11 이후 무효화된 수수께끼 변경은 소용이 없었다.Quest를 OpenGL로 바꿀 수 있는데...일로 @Looking Glass & Azure Kinect(@asidys230)October 24, 2019
같은 고민을 하는 사람이 있다.
DX11 PSIZE Bug, PLEASE HELP! - Unity Forum
네.
버텍스의 입자 크기는 PSIZE로 변경할 수 있다는 인식으로 만났지만 DX11 이후 무효화된 수수께끼 변경은 소용이 없었다.Quest를 OpenGL로 바꿀 수 있는데...일로 @Looking Glass & Azure Kinect(@asidys230)October 24, 2019
같은 고민을 하는 사람이 있다.
DX11 PSIZE Bug, PLEASE HELP! - Unity Forum
DX11 doesn't support point mode rendering anymore according to the documentation, so I'm surprised it works at all. The idea behind that is that it is replaced by geometry shaders. So you'll have to generate a quad at every vertex yourself using a geometry shader.
잘 모르겠지만 DX11 이후로는 솔직하게 작용하지 않을 것 같아요.p>
그러니까 범인은 이 녀석이야.br/>
이렇게 하면 돼요.br/>
그나저나 Shader는 이런 느낌이에요.p>
Shader "Custom/ColoredVertex" {
Properties{
_Size("ShaderSize", Float) = 1.000000
_PointSize("PointSize", Float) = 1.0
}
SubShader{
Pass {
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma target 2.0
#include "UnityCG.cginc"
#pragma multi_compile_fog
#define USING_FOG (defined(FOG_LINEAR) || defined(FOG_EXP) || defined(FOG_EXP2))
float _Size;
float _PointSize;
// uniforms
// vertex shader input data
struct appdata {
float3 pos : POSITION;
half4 color : COLOR;
UNITY_VERTEX_INPUT_INSTANCE_ID
};
// vertex-to-fragment interpolators
struct v2f {
float psize : PSIZE;
fixed4 color : COLOR0;
#if USING_FOG
fixed fog : TEXCOORD0;
#endif
float4 pos : SV_POSITION;
UNITY_VERTEX_OUTPUT_STEREO
};
// vertex shader
v2f vert(appdata IN) {
IN.pos.xyz = IN.pos.xyz * _Size;
v2f o;
UNITY_SETUP_INSTANCE_ID(IN);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
half4 color = IN.color;
float3 eyePos = mul(UNITY_MATRIX_MV, float4(IN.pos,1)).xyz;
half3 viewDir = 0.0;
o.color = saturate(color);
// compute texture coordinates
// fog
#if USING_FOG
float fogCoord = length(eyePos.xyz); // radial fog distance
UNITY_CALC_FOG_FACTOR_RAW(fogCoord);
o.fog = saturate(unityFogFactor);
#endif
// transform position
o.pos = UnityObjectToClipPos(IN.pos);
o.psize = _PointSize;
return o;
}
// fragment shader
fixed4 frag(v2f IN) : SV_Target {
fixed4 col;
col = IN.color;
// fog
#if USING_FOG
col.rgb = lerp(unity_FogColor.rgb, col.rgb, IN.fog);
#endif
return col;
}
ENDCG
}
}
}
마지막
난 반했어.
근본적으로 해결하고 싶은 마음은 있지만 먼저 해결해서 너무 좋아요.p>
내일은 Sirokujira 씨의'Stereo Labs ZED Camera에 대한 이야기'입니다.p>
Reference
이 문제에 관하여(Azure Kinect × 셀에서 점 크기를 변경하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/asidys230/items/ad6863ba2948216001e0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)