科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件Java移动设备D图形:M3G快速模式(组图)

Java移动设备D图形:M3G快速模式(组图)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

  本文是此系列两部分中的第 1 部分,介绍了 Mobile 3D Graphics API (JSR 184) 的有关内容。作者将带领您进入 Java 移动设备的 3D 编程世界,并展示了处理光线、摄像机和材质的方法。

作者:builder.com.cn 2007年8月24日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
¡¡ÕÕÃ÷
¡¡¡¡
¡¡¡¡ÔÚÒ»¸öûÓйâÏߵķ¿¼äÖУ¬ËùÓеĶ«Î÷¿´ÉÏÈ¥¶¼ÊǺڵġ£ÄÇôǰÃæµÄʾÀýÖÐûÓйâÏߣ¬Ôõô»¹ÄÜ¿´µ½¶«Î÷ÄØ£¿¶¥µãÑÕÉ«ºÍºóÃæ¼´½«½éÉܵIJÄÖÊÊDz»ÐèÒª¹âÏߵģ¬ËüÃÇÓÀÔ¶ÏÔʾΪ¶¨ÒåºÃµÄÑÕÉ«¡£µ«¹âÏß»áʹËüÃÇ·¢ÉúһЩ±ä»¯£¬¿ÉÔö¼Ó¾°Éî¡£
¡¡¡¡
¡¡¡¡¹âÏߵķ½Ïò»á¸ù¾Ý¶ÔÏóµÄλÖ÷¢Éú·´Éä¡£Èç¹ûÄúÓÃÊÖµçͲ´¹Ö±µØÕÕÉäÄúÃæÇ°µÄ¾µ×Ó£¬ÄÇô¹âÏ߻ᷴÉäµ½ÄúÉíÉÏ¡£Èç¹û¾µ×ÓÊÇÇãбµÄ£¬Ôò¹âÏßµÄÈëÉä½ÇºÍ·´Éä½ÇÊÇÍêÈ«ÏàͬµÄ¡£×ܵÄÀ´Ëµ£¬ÄúÐèÒªÒ»¸öÓëÕÕÉäƽÃæÏà´¹Ö±µÄ·½ÏòÏòÁ¿¡£ÕâÒ»ÏòÁ¿¾Í³ÆΪ·¨ÏßÏòÁ¿ »ò¼ò³ÆΪ·¨Ïß¡£M3G »á¸ù¾Ý·¨Ïß¡¢¹âԴλÖúÍÉãÏñ»úλÖüÆËã×ÅÉ«Çé¿ö¡£
¡¡¡¡
¡¡¡¡´ËÍ⣬·¨ÏßÊǸ÷¶¥µã¶¼¾ß±¸µÄÊôÐÔ£¬¸÷¶¥µãÖ®¼äµÄÏñËØ×ÅÉ«¼È¿É²ÉÓòåÖµ·¨£¨PolygonMode.SHADE_SMOOTH£©Ò²¿É´ÓÈý½ÇÐεĵÚÈý¸ö¶¥µã´¦Ñ¡È¡£¨PolygonMode.SHADE_FLAT£©¡£ÓÉÓÚÁ¢·½ÌåÓÐ 8 ¸ö¶¥µã£¬Ö§³Ö·¨Ïߵķ½·¨Ö®Ò»¾ÍÊÇÖ¸¶¨´ÓÁ¢·½ÌåÖÐÐÄÖ¸Ïò¸÷½ÇµÄÏòÁ¿£¬Èçͼ 7a Ëùʾ¡£µ«ÕâÑù×ö¿ÉÄܻᵼÖÂÁ¢·½Ìå×ÅÉ«²»µ±¡£ÓÐÈý¸öÃæµÄÑÕÉ«¿ÉÄÜ»áÏàͬ£¬ÆäÖÐÓÐЩ±ß³ÉΪ²»¿É¼û״̬£¬Ê¹Á¢·½Ìå¿´ÉÏȥȱ·¦Àâ½Ç¡£ÕâÏÔÈ»¸üÊʺÏÇòÌ壬²»Ì«ÊʺÏÁ¢·½Ì塣ͼ 7b չʾÁËÈçºÎΪÿ±ßʹÓà 4 Ìõ·¨Ïß ¡ª¡ª ¹² 24 Ìõ£¬´Ó¶ø´´½¨Àâ½Ç·ÖÃ÷µÄ±ßÏß¡£ÓÉÓÚÒ»¸ö¶¥µãÖ»ÄÜÓÐÒ»Ìõ·¨Ïߣ¬ËùÒÔ»¹Òª¸´Öƶ¥µã¡£
¡¡¡¡
¡¡¡¡
ͼ 7.´øÓз¨ÏßÏòÁ¿µÄÁ¢·½Ì壺a) 8 Ìõ·¨Ïߣ»b) 24 Ìõ·¨Ïߣ¨Ã¿±ß 4 Ìõ£©
¡¡¡¡¡¡

¡¡¡¡¿ÉʹÓ÷¨Ïß¼ÆËã¹âÏߺ󣬻¹ÐèÒª¸æËß M3G ÄúÐèҪʲôÀàÐ͵ĹâÏß¡£¹âÏßÀ´Ô´ÓÚ²»Í¬ÐÎʽ£ºµÆÅÝ¡¢Ì«Ñô¡¢ÊÖµçͲµÈµÈ¡£ÔÚ M3G ÖеĶÔÓ¦ÊõÓï·Ö±ðΪȫÏò¹â¡¢¶¨Ïò¹âºÍ¾Û¹â¡£
¡¡¡¡
¡¡¡¡È«Ïò¹âÊÇ´ÓÒ»¸öµã·¢³öµÄ£¬²¢Æ½¾ùµØÕÕÉä¸÷¸ö·½Ïò¡£Ã»ÓеÆÕֵĵÆÅÝ·¢³öµÄ¾ÍÊÇÕâÑùµÄ¹â¡£
¡¡¡¡
¡¡¡¡¶¨Ïò¹âÏòÒ»¸ö·½Ïò·¢³öƽÐеĹâÏß¡£Ì«ÑôÀëÎÒÃǵľàÀë·Ç³£Ô¶£¬ËùÒÔ¿ÉÒÔ½«Æä¹âÏßÊÓΪƽÐеġ£¶¨Ïò¹âûÓÐλÖã¬Ö»Óз½Ïò¡£
¡¡¡¡
¡¡¡¡ÊÖµçͲ»ò¾ç³¡ÖÐʹÓõľ۹âµÆ·¢Éä³öµÄ¹âÏß¾ÍÊǾ۹⡣Æä¹âÏß³Ê׶ÐΣ¬ÓëԲ׶ÏཻµÄƽÃæÉϵĶÔÏó»á±»ÕÕÁÁ¡£
¡¡¡¡
¡¡¡¡ÔÚÕæʵÊÀ½çÖУ¬¹âÏß»¹»á´Ó¶ÔÏóÉÏ·´Éä»ØÀ´¶ø½«ÖÜΧÕÕÁÁ¡£Èç¹ûÄú´ò¿ªÎÔÊҵƣ¬¾Í»á·¢ÏÖ¼´±ãûÓÐÄÜÖ±½ÓÕÕÉäµ½´²µ×ϵĹâÏߣ¬µ«´²ÏÂÈԻᱻÕÕÁÁ¡£Raytracer ͨ¹ý×·×Ù´ÓÉãÏñ»úµ½¹âÔ´µÄ·¾¶¶øÇåÎúÕæʵµØչʾÁËͼÏñ£¬µ«ÐèÒªºÜ³¤Ê±¼ä¡£Òª»ñµÃ½»»¥Ê½Ö¡Æµ£¬±ØÐëÂú×ãÒ»¸ö¼òµ¥µÄÄ£ÐÍ£º»·¾³¹â¡£»·¾³¹âÒÔ²»±äµÄƵÂÊ´Ó¸÷·½ÏòÕÕÁÁ¶ÔÏó¡£Äú¿ÉÒÔÓû·¾³¹âÄ£ÄâÇ°ÃæµÄÎÔÊÒ³¡¾°£¬½«ËùÓжÔÏó¶¼ÕÕÁÁµ½Ò»¶¨³Ì¶È£¬´Ó¶øÌṩÁËÁíÍâÒ»¸öÈ«Ïò¹âÔ´¡£
¡¡¡¡
¡¡¡¡Çåµ¥ 8 ÃèÊöÁËÉèÖò»Í¬¹âÏߵķ½·¨¡£
¡¡¡¡
¡¡¡¡Çåµ¥ 8. ÉèÖùâÏßģʽ
¡¡¡¡
¡¡¡¡// Create light.
¡¡¡¡_light = new Light();
¡¡¡¡_lightMode = LIGHT_OMNI;
¡¡¡¡setLightMode(_light, _lightMode);
¡¡¡¡Transform lightTransform = new Transform();
¡¡¡¡lightTransform.postTranslate(0.0f, 0.0f, 3.0f);
¡¡¡¡_graphics3d.resetLights();
¡¡¡¡_graphics3d.addLight(_light, lightTransform);
¡¡¡¡
¡¡¡¡/**
¡¡¡¡* Sets the light mode.
¡¡¡¡*
¡¡¡¡* @param light light to be modified.
¡¡¡¡* @param mode light mode.
¡¡¡¡*/
¡¡¡¡protected void setLightMode(Light light, int mode)
¡¡¡¡{
¡¡¡¡switch (mode)
¡¡¡¡{
¡¡¡¡case LIGHT_AMBIENT:
¡¡¡¡light.setMode(Light.AMBIENT);
¡¡¡¡light.setIntensity(2.0f);
¡¡¡¡break;
¡¡¡¡
¡¡¡¡case LIGHT_DIRECTIONAL:
¡¡¡¡light.setMode(Light.DIRECTIONAL);
¡¡¡¡light.setIntensity(1.0f);
¡¡¡¡break;
¡¡¡¡
¡¡¡¡case LIGHT_OMNI:
¡¡¡¡light.setMode(Light.OMNI);
¡¡¡¡light.setIntensity(2.0f);
¡¡¡¡break;
¡¡¡¡
¡¡¡¡case LIGHT_SPOT:
¡¡¡¡light.setMode(Light.SPOT);
¡¡¡¡light.setSpotAngle(20.0f);
¡¡¡¡light.setIntensity(2.0f);
¡¡¡¡break;
¡¡¡¡
¡¡¡¡// no default
¡¡¡¡}
¡¡¡¡}
¡¡¡¡
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章