1. Rust-GPU面向 GPU 編程的 Rust

        聯(lián)合創(chuàng)作 · 2023-09-29 15:35

        Rust-GPU 是面向 GPU 編程的開(kāi)源項(xiàng)目,目標(biāo)是使 Rust 成為 GPU 著色器開(kāi)發(fā)的“一等公民”編程語(yǔ)言和生態(tài)系統(tǒng)。

        示例

        use glam::{Vec3, Vec4, vec2, vec3};
        
        #[spirv(fragment)]
        pub fn main(
            #[spirv(frag_coord)] in_frag_coord: &Vec4,
            #[spirv(push_constant)] constants: &ShaderConstants,
            output: &mut Vec4,
        ) {
            let frag_coord = vec2(in_frag_coord.x, in_frag_coord.y);
            let mut uv = (frag_coord - 0.5 * vec2(constants.width as f32, constants.height as f32))
                / constants.height as f32;
            uv.y = -uv.y;
        
            let eye_pos = vec3(0.0, 0.0997, 0.2);
            let sun_pos = vec3(0.0, 75.0, -1000.0);
            let dir = get_ray_dir(uv, eye_pos, sun_pos);
        
            // evaluate Preetham sky model
            let color = sky(dir, sun_pos);
        
            *output = tonemap(color).extend(1.0)
        }

        瀏覽 21
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
          
          

            1. 日本大尺度做爰无遮挡电视剧 | 夫妻做爱视频免费毛片 | chinesegay健身教练嗷嗷叫 | 深夜久久久 | 东京热欧美 |