In a shader for Unity (hlsl) I'm looking for a way to project a vector(float3 or float4) onto a plane given the plane's normal direction. What I need is something equivalent to Unity's Vector3.ProjectOnPlane function: https://docs.unity3d.com/ScriptReference/Vector3.ProjectOnPlane.html
Unity shader (hlsl) equivalent of Vector3.ProjectOnPlane
2.5k Views Asked by user3367083 At
1
There are 1 best solutions below
Related Questions in UNITY-GAME-ENGINE
- Using arrow keys to rotate an object
- know object behind another object is fully visible
- Unity3d AudioSource not creatable
- Unity3d - Input.GetKey returns true more than once
- Flurry Ads on Unity3D with Prime31 plugin
- Make screenshot of DirectX window that is hidden and doesn't have focus
- Coroutine being detected as inactive despite being active
- Unity3D: Adding charged force in relation to position
- Unity - Particles emitting non-random
- 3d mouse aim camera 3rd person vertical C#
- Unity: How would I go about creating a power up system?
- Unity - Gui Button issues (Android)
- Unity3d strange Collider behaviour
- Start() function doesn't work properly after Application.LoadLevel
- Gravity works weird
Related Questions in HLSL
- Draw a sphere on a billboard with world normal from a pointlist
- D3D11 Post Shader Results in Dark Image
- Constant buffer is empty when passed HLSL C++
- How to use a huge array in HLSL (error X4505)
- Rendering a circle with a Vertex shader in DirectX
- Normals are not transfered to DirectX 11 shader correctly - random, time-dependent values?
- Doing 64bit addition with 2 high 32bit integers and 2 low 32bit integers. Are there more efficient ways of getting the carry bit?
- DirectX shader linking error
- Does #pragma exclude_renderers increase performance?
- HLSL mul and D3DXMATRIX order mismatch
- Force field shader unwrap texture not working
- HLSL - organizing shaders and techniques and not getting lost
- DirectX 11: Z-Fighting
- HLSL TextureSampler Color returning white
- using Kinect Depth View to show an Object inside the Human Body
Related Questions in VECTORMATH
- Get 3D cube from an Obb3
- Above maxVelocity changes direction to diagonal, workaround
- How to determine if point is inside skewed conical frustum
- 3D Projectile - miscalculation on X & Z?
- Tilt the Three.js Orbit camera's plane of rotation *or* keep Trackball camera's Y-axis aligned "up"
- are all the examples of cross product code on the internet wrong, or am I wrong?
- Vertex array to a float array
- Calculate normal vector of a polygon - Newells Method
- How to calculate vec4 cross product with glm?
- One class for math vectors of arbitrary dimension
- Algorithm to find desired direction with minimum amount of iterations
- Intuitive 3D Math Resources
- Handling LookVector For Flying Camera
- Understanding velocity and implementing Boids algorithm?
- Is it faster to use regular distance or squared distance?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
If your plane normal vector is normalized:
If it's not:
Same formula, depending on GPU model & driver version can be either faster or slower: