使用Three.js中的MeshPhongMaterial水平翻转图像纹理

时间:2015-06-29 05:21:02

标签: three.js

我已经使用MeshBasicMaterial尝试了以下内容:

texture.wrapS = THREE.RepeatWrapping;
texture.repeat.x = - 1;

它有效,但只能使用这种特定的材料。

我想知道如何在MeshLambertMaterial或MeshPhongMaterial上执行相同操作。

已更新

我在这里创建了一个实例:http://jsbin.com/jecaqi/18/edit?js,output

在这个例子中,我用左侧的MeshBasicMaterial(mesh_basic)翻转了图像纹理。我的目的是使用MeshPhongMaterial(mesh_phong)在右边的那个上做同样的事情。

1 个答案:

答案 0 :(得分:1)

如果要在纹理上水平翻转和图像,可以使用以下模式执行此操作:

                Exception threadEccezione = null;

                System.Threading.Thread staThread = new System.Threading.Thread(
                        delegate()
                        {
                            try
                            {
                                //SHDocVw.ShellWindows shellWindows = new SHDocVw.ShellWindows();
                                var explorer = new SHDocVw.ShellWindowsClass().Cast<SHDocVw.InternetExplorer>().Where(hwnd => hwnd.HWND == handle).FirstOrDefault();

                                if (explorer != null)
                                {
                                    string path = new Uri(explorer.LocationURL).LocalPath;
                                    MessageBox.Show(path);
                                }
                            }
                            catch (Exception ex)
                            {
                                threadEccezione = ex;
                            }
                        }
                    );
                ;
                staThread.Start();
                staThread.Join();

您还需要确保图像是2的幂(POT)。

three.js r.71