【前端知识】Three 学习日志(十二)—— WebGL渲染器设置(锯齿模糊)

news2024/12/23 10:21:44

Three 学习日志(十二)—— WebGL渲染器设置(锯齿模糊)

一、设置抗锯齿

const renderer = new THREE.WebGLRenderer({
  antialias:true,
});

二、效果对比

设置前:
在这里插入图片描述
设置后:
在这里插入图片描述

三、查看并设置设备像素比

// 不同硬件设备的屏幕的设备像素比window.devicePixelRatio值可能不同
console.log('查看当前屏幕设备像素比', window.devicePixelRatio);
// 获取你屏幕对应的设备像素比.devicePixelRatio告诉threejs,以免渲染模糊问题
renderer.setPixelRatio(window.devicePixelRatio);

在这里插入图片描述

四、设置背景颜色

renderer.setClearColor(0x444444, 1); //设置背景颜色

在这里插入图片描述

五、完整代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Learn Three</title>
    <!-- 引入three,下载地址参考:http://www.webgl3d.cn/pages/aac9ab/#%E7%89%B9%E5%AE%9A%E7%89%88%E6%9C%ACthree-js%E6%96%87%E4%BB%B6%E5%8C%85%E4%B8%8B%E8%BD%BD -->
    <script src="../build/three.js"></script>
    <!-- 引入相机控件 -->
    <script type="importmap">
        {
            "imports": {
                "three": "../build/three.module.js",
                "three/addons/": "../examples/jsm/"
            }
        }
    </script>
</head>

<body>
    <script type="module">
        // 引入轨道控制器扩展库OrbitControls.js
        import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
        // 创建3D场景对象Scene
        const scene = new THREE.Scene();
        const axesHelper = new THREE.AxesHelper(150);
        scene.add(axesHelper);
        const geometry = new THREE.BoxGeometry(100, 100, 100);
        const material = new THREE.MeshBasicMaterial({
            color: 0xff0000, //设置材质颜色
        });

        const pointLight = new THREE.PointLight(0xffffff, 1.0);
        pointLight.position.set(200, 200, 200);
        scene.add(pointLight); //点光源添加到场景中

        const mesh = new THREE.Mesh(geometry, material); //网格模型对象Mesh
        mesh.position.set(0, 0, 0);
        scene.add(mesh);
        const camera = new THREE.PerspectiveCamera();
        camera.position.set(600, 600, 600);
        camera.lookAt(0, 0, 0);
        const width = window.innerWidth; // 窗口宽度
        const height = window.innerHeight; // 窗口高度
        const renderer = new THREE.WebGLRenderer({
            antialias: true, // 抗锯齿
        });
        renderer.setSize(width, height);

        // 不同硬件设备的屏幕的设备像素比window.devicePixelRatio值可能不同
        console.log('查看当前屏幕设备像素比', window.devicePixelRatio);
        // 获取你屏幕对应的设备像素比.devicePixelRatio告诉threejs,以免渲染模糊问题
        renderer.setPixelRatio(window.devicePixelRatio);
        renderer.setClearColor(0x444444, 1); //设置背景颜色

        renderer.render(scene, camera); //执行渲染操作
        document.body.appendChild(renderer.domElement);
        const controls = new OrbitControls(camera, renderer.domElement);
        controls.addEventListener('change', function () {
            renderer.render(scene, camera); //执行渲染操作
        });//监听鼠标、键盘事件

    </script>
</body>
<style>
    body {
        overflow: hidden;
        margin: 0px;
    }
</style>

</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1024823.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

乐划锁屏推出“屏上看展”,用创意“解锁”艺术新体验

在移动互联网时代,手机不仅是重要的通讯工具,作为点亮屏幕后的“第一眼”,手机锁屏也为人们提供了更加集成、更加多元的信息接收渠道。为了满足人们的碎片化消遣需求,加速信息传播,OPPO依托锁屏点亮即触达的特点,将锁屏壁纸作为探索碎片化娱乐的新通道,推出了乐划锁屏。 在乐划…

成集云 | 用友NC集成聚水潭ERP(用友NC主管库存)| 解决方案

源系统成集云目标系统 方案介绍 用友NC是用友NC产品的全新系列&#xff0c;是面向集团企业的世界级高端管理软件。它以“全球化集团管控、行业化解决方案、全程化电子商务、平台化应用集成”的管理业务理念而设计&#xff0c;采用J2EE架构和先进开放的集团级开发平台…

VMware Esxi 7.0.3用户名密码都对,网页却无法登录问题解决

Esxi 7.0.3安装完成&#xff0c;重启之后&#xff0c;下面就是esxi的界面&#xff1a; 之后通过网页管理esxi&#xff0c;输入网址&#xff0c;出现一个问题&#xff1a; &#xff08;esxi已连接上&#xff0c;所以拿其他网段举例&#xff09;连接不上&#xff0c;无法访问此页…

MVVM模式理解

链接&#xff1a; MVVM框架理解及其原理实现 - 知乎 (zhihu.com) 重点&#xff1a; 1.将展示的界面窗口和创建的构件是数据进行分离 2.利用一个中间商进行数据的处理&#xff0c;所有的数据通过中间商进行处理

Python 数独求解器

文章目录 使用回溯算法在Python中解决数独总结 Sudoku&#xff08;数独&#xff09;是一种基于逻辑的数字填充谜题游戏&#xff0c;最受喜爱的是那些热爱逻辑和推理的人。解决数独谜题有助于提高集中注意力和逻辑思维能力。 本文介绍了如何使用Python解决数独谜题。 使用回溯算…

0.UML

1.图 1.1类图含义 第一层显示类的名称,如果是抽象类,则就用斜体显示。第二层是类的特性,通常就是字段和属性。第三层是类的操作,通常是方法或行为。注意前面的符号, ,表示public,-,表示private,#,表示protected。 1.2接口图 与类图的区别主要是顶端有<< interface >…

回收站清空文件恢复?恢复文件,就看这4种方法!

电脑回收站对于大部分经常误删文件的用户来说&#xff0c;确实帮了大忙。但有时&#xff0c;用户可能会有定期清空回收站的习惯。回收站清空后文件还能恢复吗&#xff1f;这确实是个烦人的问题。比如下面这个用户所遇到的问题&#xff1a; “大家快帮帮我吧&#xff01;昨天看电…

淘宝/天猫API 获得淘宝app商品详情原数据(优惠券详情)

item_get_app-获得淘宝app商品详情原数据 taobao.item_get_app 公共参数 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;获取Key和secret接入secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#x…

学Python的漫画漫步进阶 -- 第十一步.常用的内置模块

学Python的漫画漫步进阶 -- 第十一步.常用的内置模块 十一、常用的内置模块11.1 数学计算模块——math11.2 日期时间模块——datetime11.2.1 datetime类11.2.2 date类11.2.3 time类11.2.4 计算时间跨度类——timedelta11.2.5 将日期时间与字符串相互转换 11.3 正则表达式模块—…

git vscode

01&#xff1a;工作区 **02&#xff1a;暂存区 git add . 3&#xff1a;本地库 git commit -m ’ 4&#xff1a;远程库 git push example 点击箭头之后

[架构之路-218]: 架构师责权利的定位, 架构师是技术领导者、决策者、激励者、企业家思维、战略思维、理论指导

目录 一、架构的诉求与系统的规模和复杂度强相关 1.1 系统的规模和复杂度对架构的影响 1.2 系统的业务需求对架构的影响 1.3 业架构和软件架构 二、架构师的类型 三、系统架构师 3.1 什么是系统架构师 3.2 系统架构师的技术素质要求 3.3 系统架构师的管理素质要求 3.…

【小黑送书—第二期】>>《用户画像:平台构建与业务实践》

在大数据时代&#xff0c;如何有效地挖掘数据价值并通过画像数据进行呈现&#xff0c;如何基于画像数据构建平台功能并提高业务产出&#xff0c;是值得各类公司和业务人员思考并付诸实践的事情。 通过画像释放大数据价值。大数据时代不缺少数据&#xff0c;而是缺乏挖掘数据价值…

【C++面向对象侯捷】7.三大函数:拷贝构造,拷贝复制,析构

文章目录 三个特殊函数构造函数和析构函数class with pointer members 必须有 拷贝构造 和 拷贝复制【因为编译器默认是浅拷贝】拷贝构造函数拷贝复制函数没有检查自我赋值&#xff0c;杀掉空间就完了.. 三个特殊函数 构造函数和析构函数 class with pointer members 必须有 拷…

Chrome下载离线安装包进行安装

https://www.google.cn/chrome/index.html?standalone1 standalone1表示下载离线安装包 ChromeSetup.exe是在线安装的就只有1M ChromeStandaloneSetup64.exe是离线安装的有10M

USI-0002 SDI-1624 HONEYWELL ,用于工业和物流4.0的人工智能

USI-0002 SDI-1624 HONEYWELL &#xff0c;用于工业和物流4.0的人工智能 生产、仓库、运输——生产、储存、分拣或包装货物的地方&#xff0c;也是提货的地方。这意味着几个单独的货物从存储单元如箱子或纸盒中取出并重新组装。有了FLAIROP(机器人采摘的联邦学习)项目费斯托…

PDA使用uview3.0上传图片组件缩略图不显示的问题解决

猫猫在为社群的梁总开发PDA扫码程序&#xff0c;接上VFP猫框后端&#xff0c;简直爽歪歪&#xff0c;开发又快又好。 终于快上线了&#xff0c;结果发现里面一个图片上传的功能&#xff0c;上传成功后&#xff0c;在PDA上看不到缩略图。 我在微信开发者工具测试一切好好的&…

易点易动固定资产管理平台:打破数据孤岛,实现一站式闭环管理

在现代企业中&#xff0c;固定资产管理的数据孤岛问题一直是制约企业管理效率的重要因素。然而&#xff0c;通过易点易动固定资产管理平台&#xff0c;企业可以实现ERP、OA系统、BPM系统、财务系统等多个系统的打通&#xff0c;打破数据孤岛&#xff0c;实现固定资产的一站式闭…

网络编程 day2

TCPser TCPcli UDPser UDPcli

HTML常用基本元素总结

<!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title> biao qian</title> </head> <body><h1>这是标题1</h1> <h2>这是标题2</h2> <h3>这是标题3</h3><p> 这…

半导体产品使用高温老化测试技术

主要功能&#xff1a;为了达到满意的合格率&#xff0c;几乎所有产品在出厂前都必须经过老化处理。制造商如何在不缩短老化时间的情况下提高效率&#xff1f;本文介绍了一种在老化过程中进行功能测试的新方法&#xff0c;以减少和缩短与老化过程相关的成本和时间问题。 在半导…