three.js学习:纹理Texture之平面纹理

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>测试</title>
    <script src="js/three.min.js"></script>
    <script src="js/stats.min.js"></script>
    <script src="js/tweenjs.min.js"></script>
    <style>
        html, body {
            width: 100%;
            height: 100%;
            margin: 0;
            padding: 0;
        }
    </style>
</head>
<body>
<canvas></canvas>
</body>
<script src="js/chapter/chapter6.1.js"></script>
</html>

chapter6.1.js

var scene, camera, renderer;

function init() {
    //init scene
    scene = new THREE.Scene();

    //init renderer
    var canvas = document.body.querySelector("canvas");
    canvas.width = window.innerWidth;
    canvas.height = window.innerHeight;
    renderer = new THREE.WebGLRenderer({
        canvas: canvas,
        antialias: true
    });
    renderer.setSize(window.innerWidth, window.innerHeight);
    renderer.setClearColor(0x000000, 1);

    //init camera
    camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 1, 1000);
    camera.position.set(0, 0, 100);
    camera.up.set(0, 1, 0);
    camera.lookAt(0, 0, 0);

    //init light
    var light = new THREE.PointLight(0xffffff);
    light.position.set(0, 0, 100);
    scene.add(light);

    var geometry = new THREE.PlaneGeometry(60, 30);
    var texture = new THREE.TextureLoader().load("images/a.jpg");
    var material = new THREE.MeshLambertMaterial({
        map: texture,
        side: THREE.DoubleSide
    });
    var mesh = new THREE.Mesh(geometry, material);
    scene.add(mesh);
}

function animate() {    //不是很明白为什么设置纹理需要用requestAnimationFrame
    requestAnimationFrame(animate);
    renderer.render(scene, camera);
}
init();
animate();

原文地址:https://www.cnblogs.com/wsfu/p/10358513.html

时间: 2024-10-10 04:38:08

three.js学习:纹理Texture之平面纹理的相关文章

Unity_二维纹理 Texture 2D_2_高级纹理

The Advanced Texture Importer Settings dialog 高级纹理导入器设置对话框 Non Power of 2 不是2的幂:如果纹理大小不是2的幂,这将定义在导入时的缩放行为(更多信息请参阅下文纹理尺寸部分): None 无:纹理将被填充到下一个较大的2的幂大小以便与GUI纹理组件使用.(真别扭!) To nearest 到最近的:纹理在导入时将被缩放到最近的幂大小.例如257x511纹理将成为256x512.请注意,PVRTC格式要求纹理是正方形(宽度与高度

Cocos2d-x学习笔记(九)纹理CCTexture2D和精灵CCSprite

原创文章,转载请注明出处:http://blog.csdn.net/sfh366958228/article/details/38850499 前言 在Cocos2d-x中对图片得封装是通过CCImage来完成,该类实现了对于不同类型图片得读取.解析.像素信息保存.由于在引擎内部封装,一般情况下不需要修改此类,由于Cocos2d-x使用了Open GL的图形库,因此在图片显示在屏幕的过程中是通过在3D空间的某个平面通过纹理贴图的方式完成的图片显示,在Cocos2d-x中通过CCTexture2D

Directx11学习笔记【十七】纹理贴图

本文由zhangbaochong原创,转载请注明出处http://www.cnblogs.com/zhangbaochong/p/5596180.html 在之前的例子中,我们实现了光照和材质使得场景大大增加了真实感,然而材质提供的细节只是在顶点级别上,要想在像素级别提供细节还得借助于纹理,这次让我们学习dx11中一些有关纹理的基础. 1.纹理坐标 1 在direct3d中,纹理坐标用一个二维向量(u,v)表示,纹理左上角为原点,u正方向沿纹理水平向右,v正方向沿纹理垂直向下,且0<=u,v<

Unity_二维纹理 Texture 2D_3_按平台覆盖

Per-Platform Overrides 按平台覆盖 当你在不同的平台构建(游戏),你必须考虑为目标平台决定你的纹理,尺寸和质量.使用Unity3,你可以覆盖这些选项,并根据你要部署的平台指定具体的值.注意,当你构建项目时,如果你没有选择任何值覆盖,编辑器会选择默认值. Default settings for all platforms. 所有平台的默认设置 Max Texture Size 最大纹理尺寸:导入纹理的最大尺寸.美工师往往更愿意使用巨大的纹理--用这个调整纹理降到合适的大小.

Unity_二维纹理 Texture 2D_4_总结细节

Supported Formats 支持的格式 Unity支持下面的文件格式:PSD, TIFF, JPG, TGA, PNG, GIF, BMP, IFF, PICT.应注意,Unity可以导入多层PSD和TIFF文件,在导入时,层将自动被塌陷,因此你不必浪费时间,直接使用源文件类型.这点很重要,允许只有一个纹理拷贝,使用从Photoshop,三维建模程序导入到Unity. Texture Sizes 纹理大小 这些尺寸如下:2, 4, 8, 16, 32, 64, 128, 256, 512

Unity 用户手册用户指南二维纹理 (Texture 2D)

http://www.58player.com/blog-2327-953.html 二维纹理 (Texture 2D) 纹理 (Textures) 使您的 网格 (Meshes).粒子 (Particles) 和界面变得生动!它们是您覆盖或环绕对象的图像或电影文件.因为它们如此重要,所以具有许多属性.如果是首次阅读此内容,请向下跳转到详细信息,在需要参考时返回实际设置.   用于对象的着色器对所需纹理具有特定要求,但是基本原则是可以将任何图像文件置于工程中.如果它满足大小要求(下面指定),则会

Three.js 学习笔记(1)--坐标体系和旋转

前言 JavaScript 3D library The aim of the project is to create an easy to use, lightweight, 3D library. The library provides <canvas>, <svg>, CSS3D and WebGL renderers.(该项目的目标是创建一个易于使用,轻量级的3D库.该库提供了<canvas>,<svg>,CSS3D和WebGL渲染器.) 示例 

建筑建模学习笔记1——AutoCAD平面建模

建筑建模学习笔记1--AutoCAD平面建模 楼宇自控项目上位机控制展示软件需要展示成3D效果图,最近在学习3D建模的相关知识.3D建筑物建模多数都是导入2D的CAD建筑图纸,在其基础上进行建模,这样作出的3D模型则会完全与实物相符.现在记录一些AutoCAD画图的命令. 1.划线命令 1)Line 快捷键是 L,工具栏图标 下面是划线的操作动画: 划线时我们看到线不仅有长度还有角度,在在多数情况下画直角的线多一些,AutoCAD提供了正交按钮,在选中此项后,我们画的线与线间的夹角永远都是90度

Vue.js学习笔记:在元素 和 template 中使用 v-if 指令

f 指令 语法比较简单,直接上代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title></title> <script src="https://cdn.bootcss.com/vue/2.2.