| 93 |
public static IrrlichtNETCP.Quaternion Cordinate_XYZ_XZY = new IrrlichtNETCP.Quaternion(); |
public static IrrlichtNETCP.Quaternion Cordinate_XYZ_XZY = new IrrlichtNETCP.Quaternion(); |
| 94 |
|
|
| 95 |
private TextureManager textureMan = null; |
private TextureManager textureMan = null; |
| 96 |
|
private static TrianglePickerMapper triPicker = null; |
| 97 |
// experimental mesh code - only here temporarily - up top so it's visible |
// experimental mesh code - only here temporarily - up top so it's visible |
| 98 |
|
|
| 99 |
public Vector2D convVect2d(UVCoord uv) |
public Vector2D convVect2d(UVCoord uv) |
| 253 |
guienv = device.GUIEnvironment; |
guienv = device.GUIEnvironment; |
| 254 |
device.OnEvent += new OnEventDelegate(device_OnEvent); |
device.OnEvent += new OnEventDelegate(device_OnEvent); |
| 255 |
|
|
| 256 |
|
triPicker = new TrianglePickerMapper(smgr.CollisionManager); |
| 257 |
|
mts = smgr.CreateMetaTriangleSelector(); |
| 258 |
if (loadTextures) |
if (loadTextures) |
| 259 |
{ |
{ |
| 260 |
textureMan = new TextureManager(device, driver, "IdealistCache", avatarConnection); |
textureMan = new TextureManager(device, driver, triPicker, mts, "IdealistCache", avatarConnection); |
| 261 |
textureMan.OnTextureLoaded += textureCompleteCallback; |
textureMan.OnTextureLoaded += textureCompleteCallback; |
| 262 |
} |
} |
| 263 |
|
|
| 361 |
SNGlobalwater.SetMaterialFlag(MaterialFlag.NormalizeNormals, true); |
SNGlobalwater.SetMaterialFlag(MaterialFlag.NormalizeNormals, true); |
| 362 |
SNGlobalwater.Position = new Vector3D(0, 0, 0); |
SNGlobalwater.Position = new Vector3D(0, 0, 0); |
| 363 |
|
|
| 364 |
mts = smgr.CreateMetaTriangleSelector(); |
|
| 365 |
//GUIContextMenu gcontext = guienv.AddMenu(guienv.RootElement, 90); |
//GUIContextMenu gcontext = guienv.AddMenu(guienv.RootElement, 90); |
| 366 |
//gcontext.Text = "Some Text"; |
//gcontext.Text = "Some Text"; |
| 367 |
//gcontext.AddItem("SomeCooItem", 93, true, true); |
//gcontext.AddItem("SomeCooItem", 93, true, true); |
| 445 |
|
|
| 446 |
running = device.Run(); |
running = device.Run(); |
| 447 |
} |
} |
| 448 |
catch (AccessViolationException) |
catch (AccessViolationException e) |
| 449 |
{ |
{ |
| 450 |
m_log.Error("[VIDEO]: Error in device"); |
m_log.Error("[VIDEO]: Error in device" + e.ToString()); |
| 451 |
} |
} |
| 452 |
if (!running) |
if (!running) |
| 453 |
break; |
break; |
| 454 |
tickcount = System.Environment.TickCount; |
tickcount = System.Environment.TickCount; |
| 455 |
UpdateTerrain(); |
|
| 456 |
//cam.Position = new Vector3D(cam.Position.X , cam.Position.Y, cam.Position.Z- 0.5f); |
//cam.Position = new Vector3D(cam.Position.X , cam.Position.Y, cam.Position.Z- 0.5f); |
| 457 |
//cam.Target = new Vector3D(0, 0, 0);//cam.Target.X - 0.5f, cam.Target.Y, cam.Target.Z); |
//cam.Target = new Vector3D(0, 0, 0);//cam.Target.X - 0.5f, cam.Target.Y, cam.Target.Z); |
| 458 |
//avm.SetMaterialFlag(MaterialFlag.NormalizeNormals, true); |
//avm.SetMaterialFlag(MaterialFlag.NormalizeNormals, true); |
| 510 |
CheckAndApplyParent(5); |
CheckAndApplyParent(5); |
| 511 |
doTextureMods(1); |
doTextureMods(1); |
| 512 |
doSetCameraPosition(); |
doSetCameraPosition(); |
| 513 |
|
UpdateTerrain(); |
| 514 |
|
|
| 515 |
//BoneSceneNode bcn = avmeshsntest.GetJointNode("lCollar:2"); |
//BoneSceneNode bcn = avmeshsntest.GetJointNode("lCollar:2"); |
| 516 |
//bcn.Rotation = new Vector3D(0, 36 + framecounter, 0); |
//bcn.Rotation = new Vector3D(0, 36 + framecounter, 0); |
| 639 |
{ |
{ |
| 640 |
tx.vObj.updateFullYN = true; |
tx.vObj.updateFullYN = true; |
| 641 |
//tx.vObj.mesh.Dispose(); |
//tx.vObj.mesh.Dispose(); |
| 642 |
|
|
| 643 |
|
if (tx.vObj.node.TriangleSelector != null) |
| 644 |
|
mts.RemoveTriangleSelector(tx.vObj.node.TriangleSelector); |
| 645 |
if (tx.vObj.node != null && tx.vObj.node.Raw != IntPtr.Zero) |
if (tx.vObj.node != null && tx.vObj.node.Raw != IntPtr.Zero) |
| 646 |
smgr.AddToDeletionQueue(tx.vObj.node); |
smgr.AddToDeletionQueue(tx.vObj.node); |
| 647 |
|
|
| 963 |
|
|
| 964 |
TriangleSelector trisel = smgr.CreateTriangleSelector(vObj.mesh, node); |
TriangleSelector trisel = smgr.CreateTriangleSelector(vObj.mesh, node); |
| 965 |
node.TriangleSelector = trisel; |
node.TriangleSelector = trisel; |
| 966 |
|
triPicker.AddTriangleSelector(trisel, node); |
| 967 |
lock (mts) |
lock (mts) |
| 968 |
{ |
{ |
| 969 |
mts.AddTriangleSelector(trisel); |
mts.AddTriangleSelector(trisel); |
| 1123 |
|
|
| 1124 |
TriangleSelector trisel = smgr.CreateTriangleSelector(vObj.mesh, node); |
TriangleSelector trisel = smgr.CreateTriangleSelector(vObj.mesh, node); |
| 1125 |
node.TriangleSelector = trisel; |
node.TriangleSelector = trisel; |
| 1126 |
|
triPicker.AddTriangleSelector(trisel, node); |
| 1127 |
lock (mts) |
lock (mts) |
| 1128 |
{ |
{ |
| 1129 |
mts.AddTriangleSelector(trisel); |
mts.AddTriangleSelector(trisel); |
| 1611 |
|
|
| 1612 |
if (terrain != null) |
if (terrain != null) |
| 1613 |
{ |
{ |
| 1614 |
|
triPicker.RemTriangleSelector(terrain.TriangleSelector); |
| 1615 |
smgr.AddToDeletionQueue(terrain); |
smgr.AddToDeletionQueue(terrain); |
|
|
|
| 1616 |
} |
} |
| 1617 |
Vector3 relTerrainPos = Vector3.Zero; |
Vector3 relTerrainPos = Vector3.Zero; |
| 1618 |
if (currentSim != null) |
if (currentSim != null) |
| 1649 |
{ |
{ |
| 1650 |
mts.RemoveTriangleSelector(terrainsels[regionhandle]); |
mts.RemoveTriangleSelector(terrainsels[regionhandle]); |
| 1651 |
terrainsels.Remove(regionhandle); |
terrainsels.Remove(regionhandle); |
| 1652 |
|
|
| 1653 |
} |
} |
| 1654 |
} |
} |
| 1655 |
|
|
| 1656 |
terrainsel = smgr.CreateTerrainTriangleSelector(terrain, 1); |
terrainsel = smgr.CreateTerrainTriangleSelector(terrain, 1); |
| 1657 |
terrain.TriangleSelector = terrainsel; |
terrain.TriangleSelector = terrainsel; |
| 1658 |
|
triPicker.AddTriangleSelector(terrainsel, terrain); |
| 1659 |
|
|
| 1660 |
lock (terrainsels) |
lock (terrainsels) |
| 1661 |
{ |
{ |
| 1662 |
terrainsels.Add(regionhandle, terrainsel); |
terrainsels.Add(regionhandle, terrainsel); |
| 1707 |
{ |
{ |
| 1708 |
if (newObject.node != null) |
if (newObject.node != null) |
| 1709 |
{ |
{ |
| 1710 |
|
if (newObject.node.TriangleSelector != null) |
| 1711 |
|
mts.RemoveTriangleSelector(newObject.node.TriangleSelector); |
| 1712 |
smgr.AddToDeletionQueue(newObject.node); |
smgr.AddToDeletionQueue(newObject.node); |
| 1713 |
newObject.node = null; |
newObject.node = null; |
| 1714 |
} |
} |
| 1999 |
if (cam.SNtarget == obj.node) |
if (cam.SNtarget == obj.node) |
| 2000 |
cam.SNtarget = null; |
cam.SNtarget = null; |
| 2001 |
|
|
| 2002 |
|
if (obj.node.TriangleSelector != null) |
| 2003 |
|
mts.RemoveTriangleSelector(obj.node.TriangleSelector); |
| 2004 |
|
|
| 2005 |
smgr.AddToDeletionQueue(obj.node); |
smgr.AddToDeletionQueue(obj.node); |
| 2006 |
obj.node = null; |
obj.node = null; |
| 2007 |
|
|
| 2289 |
|
|
| 2290 |
Vector3D collisionpoint = new Vector3D(0, 0, 0); |
Vector3D collisionpoint = new Vector3D(0, 0, 0); |
| 2291 |
Triangle3D tri = new Triangle3D(0, 0, 0, 0, 0, 0, 0, 0, 0); |
Triangle3D tri = new Triangle3D(0, 0, 0, 0, 0, 0, 0, 0, 0); |
| 2292 |
SceneNode node = smgr.CollisionManager.GetSceneNodeFromRay(projectedray, 0x0128, true); //smgr.CollisionManager.GetSceneNodeFromScreenCoordinates(new Position2D(p_event.MousePosition.X, p_event.MousePosition.Y), 0, false); |
SceneNode node = triPicker.GetSceneNodeFromRay(projectedray, 0x0128, true, cam.SNCamera.Position); //smgr.CollisionManager.GetSceneNodeFromScreenCoordinates(new Position2D(p_event.MousePosition.X, p_event.MousePosition.Y), 0, false); |
| 2293 |
if (node == null) |
if (node == null) |
| 2294 |
{ |
{ |
| 2295 |
m_log.Warn("[PICKER]: Picked null"); |
if (smgr.CollisionManager.GetCollisionPoint(projectedray, mts, out collisionpoint, out tri)) |
| 2296 |
|
{ |
| 2297 |
|
|
| 2298 |
|
//if (collisionpoint != null) |
| 2299 |
|
//{ |
| 2300 |
|
//m_log.DebugFormat("Found point: <{0},{1},{2}>", collisionpoint.X, collisionpoint.Y, collisionpoint.Z); |
| 2301 |
|
//} |
| 2302 |
|
cam.SetTarget(collisionpoint); |
| 2303 |
|
cam.SNtarget = null; |
| 2304 |
|
} |
| 2305 |
} |
} |
| 2306 |
else |
else |
| 2307 |
{ |
{ |
| 2311 |
if (smgr.CollisionManager.GetCollisionPoint(projectedray, mts, out collisionpoint, out tri)) |
if (smgr.CollisionManager.GetCollisionPoint(projectedray, mts, out collisionpoint, out tri)) |
| 2312 |
{ |
{ |
| 2313 |
|
|
| 2314 |
//if (collisionpoint != null) |
//if (collisionpoint != nuYesll) |
| 2315 |
//{ |
//{ |
| 2316 |
//m_log.DebugFormat("Found point: <{0},{1},{2}>", collisionpoint.X, collisionpoint.Y, collisionpoint.Z); |
//m_log.DebugFormat("Found point: <{0},{1},{2}>", collisionpoint.X, collisionpoint.Y, collisionpoint.Z); |
| 2317 |
//} |
//} |