private void SetMaterial(float r, float g, float b, UWB_Primitive p) { p.Material.Ambient = Vector4.Zero; p.Material.Diffuse = Vector4.Zero; p.Material.Specular = Vector4.Zero; p.Material.Emissive = new Vector4(r, g, b, 1.0f); }
private void SetMaterial(float r, float g, float b, UWB_Primitive p) { p.Material.Ambient = Vector4.Zero; p.Material.Diffuse = Vector4.Zero; p.Material.Specular = Vector4.Zero; p.Material.Emissive = new Vector4(r, g, b, 1.0f); }
private void Init() { mVelocity = new Vector3(0, 0, 0); mPrimitive = null; mPivotVisible = false; mXFormInfo = new UWB_XFormInfo(); mChildNodes = new UWB_Array <UWB_SceneNode>(); }
public override void Update(float elapsedSeconds) { int count = mList.count(); for (int i = 0; i < count; i++) { UWB_Primitive primitive = mList.getItem(i); if (primitive != null) { primitive.Update(elapsedSeconds); } } }
protected override void DrawPrimitive(eLevelofDetail lod, UWB_DrawHelper drawHelper) { int count = mList.count(); for (int i = 0; i < count; i++) { UWB_Primitive primitive = mList.getItem(i); if (primitive != null) { primitive.Draw(lod, drawHelper); } } }
public virtual void collisionResponse(UWB_Primitive other, Vector3 otherLocation) { Vector3 direction = getLocation() - otherLocation; if (direction == Vector3.Zero) { setVelocity(Vector3.Zero); return; } direction.Normalize(); float mySpeed = getVelocity().Length(); setVelocity(mySpeed * direction); }
public virtual void collisionResponse(UWB_Primitive other, Vector3 otherLocation) { Vector3 direction = getLocation() - otherLocation; if (direction == Vector3.Zero) { setVelocity(Vector3.Zero); return; } direction.Normalize(); float mySpeed = getVelocity().Length(); setVelocity(mySpeed * direction); }
public void drawChildBoundingVolumes(eLevelofDetail lod, UWB_DrawHelper drawHelper, Color color) { if (drawHelper == null) { return; } int count = this.count(); for (int i = 0; i < count; i++) { UWB_Primitive primitive = mList.getItem(i); if (primitive != null) { primitive.drawBoundingVolume(lod, drawHelper, color); } } }
public override UWB_BoundingVolume getBoundingVolume(eLevelofDetail lod) { int count = mList.count(); if (count == 0) { return(null); } mBounds.makeInvalid(); // NOTE: This is pretty inefficient. We could speed this up by maintaining // some sort of "changed" flag and only updating the bounds when this flag changes for (int i = 0; i < count; i++) { UWB_Primitive child = mList.getItem(i); mBounds.add(child.getBoundingVolume(lod)); } return(mBounds); }
public void setPrimitive(UWB_Primitive primitive) { mPrimitive = primitive; }
public void append(UWB_Primitive primitive) { mList.append(primitive); }
private void SetMeshMaterial(UWB_Primitive prim, RayTracer_552.RTMaterial mat) { prim.EnableLighting(true); prim.setShadeMode(eShadeMode.smGouraud); prim.Material.Emissive = new Vector4(Vector3.Zero, 1f); prim.Material.Ambient = new Vector4(mat.GetAmbientColor, 1f); prim.Material.Diffuse = new Vector4(mat.GetDiffuseColor, 1f); prim.Material.Specular = new Vector4(mat.GetSpecularColor, 1f); prim.Material.Power = mat.GetN; }
private UWB_SceneNode CreateNode(Vector3 at, float sx, float sy, float sz, UWB_Primitive prim) { UWB_SceneNode pNode = new UWB_SceneNode(); pNode.setPrimitive(prim); UWB_XFormInfo xf = pNode.getXFormInfo(); xf.SetTranslation(at); xf.SetScale(new Vector3(sx, sy, sz)); pNode.setXFormInfo(xf); m_SceneDatabase.insertChildNode(pNode); return pNode; }
private void Init() { mVelocity = new Vector3(0, 0, 0); mPrimitive = null; mPivotVisible = false; mXFormInfo = new UWB_XFormInfo(); mChildNodes = new UWB_Array<UWB_SceneNode>(); }
public void setPrimitive(UWB_Primitive primitive) { mPrimitive = primitive; }
public void append(UWB_Primitive primitive) { mList.append(primitive); }