//Find matching bones in character model
    private void MatchBones(ModelRenderer modelRenderer)
    {
        renderer = mesh.GetComponentInChildren <SkinnedMeshRenderer>();
        SkinnedMeshRenderer   renderer2 = modelRenderer.GetComponentInChildren <SkinnedMeshRenderer>();
        Dictionary <int, int> boneMap   = new Dictionary <int, int>();

        for (int i = 0, j = 0; i < Model.Skeleton.Bones.Length; i++, j++)
        {
            if (Model.Skeleton.Bones[i].Name == modelRenderer.Model.Skeleton.Bones[j].Name)
            {
                boneMap.Add(i, j);
            }
            else
            {
                i--;
            }
        }
        Transform[] bones = new Transform[boneMap.Count];
        Matrix4x4[] bind  = new Matrix4x4[boneMap.Count];
        for (int i = 0; i < bones.Length; i++)
        {
            bones[i] = renderer2.bones[boneMap[i]];
            bind[i]  = renderer2.sharedMesh.bindposes[boneMap[i]];
        }
        renderer.bones                = bones;
        renderer.rootBone             = renderer2.rootBone;
        renderer.sharedMesh.bindposes = bind;
    }
        private bool onProcessAnimationFrame(ModelRenderer modelRenderer, DataEntityHandle handle, GameObject avatarInstance)
        {
            string displayName = dataEntityCollection.GetComponent <DisplayNameData>(handle).DisplayName;

            if (pendingRenderRequests.ContainsKey(displayName))
            {
                Texture2D image = modelRenderer.Image;
                if (UseCache)
                {
                    if (!string.IsNullOrEmpty(pendingRenderRequests[displayName].Context))
                    {
                        avatarImageCacher.SaveTextureToCache(handle, pendingRenderRequests[displayName].Context, image);
                    }
                    else
                    {
                        Log.LogErrorFormatted(this, "Could not add image to cache, context string not found for display name: {0}", displayName);
                    }
                }
                pendingRenderRequests.Remove(displayName);
                dispatchImageReady(handle, image);
            }
            modelRenderer.Destroy();
            UnityEngine.Object.Destroy(avatarInstance);
            return(false);
        }
    private IEnumerator renderSprite(string unlockID)
    {
        AssetRequest <GameObject> assetRequest = Content.LoadAsync <GameObject>(unlockID);

        yield return(assetRequest);

        GameObject itemModel = Object.Instantiate(assetRequest.Asset);

        itemModel.transform.rotation = Quaternion.Euler(ITEM_MODEL_ROTATION);
        CameraCullingMaskHelper.SetLayerIncludingChildren(itemModel.transform, "IconRender");
        if (unlitTextureShader == null)
        {
            unlitTextureShader = Shader.Find("Unlit/Texture");
        }
        Material mat = new Material(unlitTextureShader)
        {
            mainTexture = itemModel.GetComponent <Renderer>().sharedMaterial.mainTexture
        };

        itemModel.GetComponent <Renderer>().material = mat;
        itemModel.AddComponent <ResourceCleaner>();
        ModelRenderer modelRenderer = new ModelRenderer(new ModelRendererConfig(itemModel.transform, MODEL_RENDER_OFFSET, new Vector2(256f, 256f))
        {
            FrameObjectInCamera = true
        });

        yield return(new WaitForEndOfFrame());

        callback(Sprite.Create(modelRenderer.Image, new Rect(0f, 0f, modelRenderer.Image.width, modelRenderer.Image.height), Vector2.zero), null);
        modelRenderer.Destroy();
    }
Exemplo n.º 4
0
        public virtual void Update(IUpdateArgs args)
        {
            var now = DateTime.UtcNow;

            if (RenderEntity || ShowItemInHand)
            {
                ModelRenderer.Update(args, KnownPosition);
            }

            if (ShowItemInHand)
            {
                //ItemRenderer?.World =
                ItemRenderer?.Update(args.GraphicsDevice, args.Camera);
            }

            if (now.Subtract(LastUpdatedTime).TotalMilliseconds >= 50)
            {
                LastUpdatedTime = now;
                try
                {
                    OnTick();
                }
                catch (Exception e)
                {
                    Log.Warn($"Exception while trying to tick entity!", e);
                }
            }
        }
Exemplo n.º 5
0
 public ModelSign()
 {
     this.signBoard = new ModelRenderer(this, 0, 0);
     this.signBoard.addBox(-12.0F, -14.0F, -1.0F, 24, 12, 2, 0.0F, "Board");
     this.signStick = new ModelRenderer(this, 0, 14);
     this.signStick.addBox(-1.0F, -2.0F, -1.0F, 2, 14, 2, 0.0F, "Stick");
 }
Exemplo n.º 6
0
        public ModelBox(ModelRenderer par1ModelRenderer, int par2, int par3, float par4, float par5, float par6, int par7, int par8, int par9, float par10)
        {
            PosX1           = par4;
            PosY1           = par5;
            PosZ1           = par6;
            PosX2           = par4 + (float)par7;
            PosY2           = par5 + (float)par8;
            PosZ2           = par6 + (float)par9;
            VertexPositions = new PositionTextureVertex[8];
            QuadList        = new TexturedQuad[6];
            float f  = par4 + (float)par7;
            float f1 = par5 + (float)par8;
            float f2 = par6 + (float)par9;

            par4 -= par10;
            par5 -= par10;
            par6 -= par10;
            f    += par10;
            f1   += par10;
            f2   += par10;

            if (par1ModelRenderer.Mirror)
            {
                float f3 = f;
                f    = par4;
                par4 = f3;
            }

            PositionTextureVertex positiontexturevertex  = new PositionTextureVertex(par4, par5, par6, 0.0F, 0.0F);
            PositionTextureVertex positiontexturevertex1 = new PositionTextureVertex(f, par5, par6, 0.0F, 8F);
            PositionTextureVertex positiontexturevertex2 = new PositionTextureVertex(f, f1, par6, 8F, 8F);
            PositionTextureVertex positiontexturevertex3 = new PositionTextureVertex(par4, f1, par6, 8F, 0.0F);
            PositionTextureVertex positiontexturevertex4 = new PositionTextureVertex(par4, par5, f2, 0.0F, 0.0F);
            PositionTextureVertex positiontexturevertex5 = new PositionTextureVertex(f, par5, f2, 0.0F, 8F);
            PositionTextureVertex positiontexturevertex6 = new PositionTextureVertex(f, f1, f2, 8F, 8F);
            PositionTextureVertex positiontexturevertex7 = new PositionTextureVertex(par4, f1, f2, 8F, 0.0F);

            VertexPositions[0] = positiontexturevertex;
            VertexPositions[1] = positiontexturevertex1;
            VertexPositions[2] = positiontexturevertex2;
            VertexPositions[3] = positiontexturevertex3;
            VertexPositions[4] = positiontexturevertex4;
            VertexPositions[5] = positiontexturevertex5;
            VertexPositions[6] = positiontexturevertex6;
            VertexPositions[7] = positiontexturevertex7;
            QuadList[0]        = new TexturedQuad(new PositionTextureVertex[] { positiontexturevertex5, positiontexturevertex1, positiontexturevertex2, positiontexturevertex6 }, par2 + par9 + par7, par3 + par9, par2 + par9 + par7 + par9, par3 + par9 + par8, par1ModelRenderer.TextureWidth, par1ModelRenderer.TextureHeight);
            QuadList[1]        = new TexturedQuad(new PositionTextureVertex[] { positiontexturevertex, positiontexturevertex4, positiontexturevertex7, positiontexturevertex3 }, par2, par3 + par9, par2 + par9, par3 + par9 + par8, par1ModelRenderer.TextureWidth, par1ModelRenderer.TextureHeight);
            QuadList[2]        = new TexturedQuad(new PositionTextureVertex[] { positiontexturevertex5, positiontexturevertex4, positiontexturevertex, positiontexturevertex1 }, par2 + par9, par3, par2 + par9 + par7, par3 + par9, par1ModelRenderer.TextureWidth, par1ModelRenderer.TextureHeight);
            QuadList[3]        = new TexturedQuad(new PositionTextureVertex[] { positiontexturevertex2, positiontexturevertex3, positiontexturevertex7, positiontexturevertex6 }, par2 + par9 + par7, par3 + par9, par2 + par9 + par7 + par7, par3, par1ModelRenderer.TextureWidth, par1ModelRenderer.TextureHeight);
            QuadList[4]        = new TexturedQuad(new PositionTextureVertex[] { positiontexturevertex1, positiontexturevertex, positiontexturevertex3, positiontexturevertex2 }, par2 + par9, par3 + par9, par2 + par9 + par7, par3 + par9 + par8, par1ModelRenderer.TextureWidth, par1ModelRenderer.TextureHeight);
            QuadList[5]        = new TexturedQuad(new PositionTextureVertex[] { positiontexturevertex4, positiontexturevertex5, positiontexturevertex6, positiontexturevertex7 }, par2 + par9 + par7 + par9, par3 + par9, par2 + par9 + par7 + par9 + par7, par3 + par9 + par8, par1ModelRenderer.TextureWidth, par1ModelRenderer.TextureHeight);

            if (par1ModelRenderer.Mirror)
            {
                for (int i = 0; i < QuadList.Length; i++)
                {
                    QuadList[i].FlipFace();
                }
            }
        }
Exemplo n.º 7
0
        private void UpdateModelParts()
        {
            if (ModelRenderer == null)
            {
                return;
            }

            ModelRenderer.GetBone("body", out _body);
            ModelRenderer.GetBone("rightArm", out _rightArmModel);
            ModelRenderer.GetBone("leftArm", out _leftArmModel);

            ModelRenderer.GetBone("leftLeg", out _leftLegModel);
            ModelRenderer.GetBone("rightLeg", out _rightLegModel);

            ModelRenderer.GetBone("leftSleeve", out _leftSleeveModel);
            ModelRenderer.GetBone("rightSleeve", out _rightSleeveModel);

            ModelRenderer.GetBone("leftPants", out _leftPantsModel);
            ModelRenderer.GetBone("rightPants", out _rightPantsModel);

            ModelRenderer.GetBone("jacket", out _jacketModel);
            ModelRenderer.GetBone("head", out _head);

            if (ModelRenderer.GetBone("hat", out EntityModelRenderer.ModelBone hat))
            {
                foreach (var c in hat.Parts)
                {
                    c.ApplyHeadYaw = true;
                    c.ApplyYaw     = false;
                    c.ApplyPitch   = true;
                }
            }
        }
Exemplo n.º 8
0
 public ModelBiped(float modelSize, float p_i1149_2_, int textureWidthIn, int textureHeightIn)
 {
     this.leftArmPose   = ModelBiped.ArmPose.EMPTY;
     this.rightArmPose  = ModelBiped.ArmPose.EMPTY;
     this.textureWidth  = textureWidthIn;
     this.textureHeight = textureHeightIn;
     this.bipedHead     = new ModelRenderer(this, 0, 0, ModelPart.Head);
     this.bipedHead.addBox(-4.0F, -8.0F, -4.0F, 8, 8, 8, modelSize, "Head");
     this.bipedHead.setRotationPoint(0.0F, 0.0F + p_i1149_2_, 0.0F);
     this.bipedHeadwear = new ModelRenderer(this, 32, 0, ModelPart.Helmet);
     this.bipedHeadwear.addBox(-4.0F, -8.0F, -4.0F, 8, 8, 8, modelSize + 0.5F, "Headwear");
     this.bipedHeadwear.setRotationPoint(0.0F, 0.0F + p_i1149_2_, 0.0F);
     this.bipedBody = new ModelRenderer(this, 16, 16, ModelPart.Chest);
     this.bipedBody.addBox(-4.0F, 0.0F, -2.0F, 8, 12, 4, modelSize, "Body");
     this.bipedBody.setRotationPoint(0.0F, 0.0F + p_i1149_2_, 0.0F);
     this.bipedRightArm = new ModelRenderer(this, 40, 16, ModelPart.RightArm);
     this.bipedRightArm.addBox(-3.0F, -2.0F, -2.0F, 4, 12, 4, modelSize, "Right Arm");
     this.bipedRightArm.setRotationPoint(-5.0F, 2.0F + p_i1149_2_, 0.0F);
     this.bipedLeftArm        = new ModelRenderer(this, 40, 16, ModelPart.LeftArm);
     this.bipedLeftArm.mirror = true;
     this.bipedLeftArm.addBox(-1.0F, -2.0F, -2.0F, 4, 12, 4, modelSize, "Left Arm");
     this.bipedLeftArm.setRotationPoint(5.0F, 2.0F + p_i1149_2_, 0.0F);
     this.bipedRightLeg = new ModelRenderer(this, 0, 16, ModelPart.RightLeg);
     this.bipedRightLeg.addBox(-2.0F, 0.0F, -2.0F, 4, 12, 4, modelSize, "Right Leg");
     this.bipedRightLeg.setRotationPoint(-1.9F, 12.0F + p_i1149_2_, 0.0F);
     this.bipedLeftLeg        = new ModelRenderer(this, 0, 16, ModelPart.LeftLeg);
     this.bipedLeftLeg.mirror = true;
     this.bipedLeftLeg.addBox(-2.0F, 0.0F, -2.0F, 4, 12, 4, modelSize, "Left Leg");
     this.bipedLeftLeg.setRotationPoint(1.9F, 12.0F + p_i1149_2_, 0.0F);
 }
Exemplo n.º 9
0
        public ModelWitch(float p_i46361_1_) :
            base(p_i46361_1_, 0.0F, 64, 128)
        {
            this.field_82901_h = (new ModelRenderer(this, ModelPart.Head)).setTextureSize(64, 128);
            this.field_82901_h.setRotationPoint(0.0F, -2.0F, 0.0F);
            this.field_82901_h.setTextureOffset(0, 0).addBox(0.0F, 3.0F, -6.75F, 1, 1, 1, -0.25F, "Wart");
            this.villagerNose.addChild(this.field_82901_h);
            this.witchHat = (new ModelRenderer(this, ModelPart.Helmet)).setTextureSize(64, 128);
            this.witchHat.setRotationPoint(-5.0F, -10.03125F, -5.0F);
            this.witchHat.setTextureOffset(0, 64).addBox(0.0F, 0.0F, 0.0F, 10, 2, 10, "Hat Base");
            this.villagerHead.addChild(this.witchHat);
            ModelRenderer modelrenderer = (new ModelRenderer(this, ModelPart.Helmet)).setTextureSize(64, 128);

            modelrenderer.setRotationPoint(1.75F, -4.0F, 2.0F);
            modelrenderer.setTextureOffset(0, 76).addBox(0.0F, 0.0F, 0.0F, 7, 4, 7, "Hat Piece");
            modelrenderer.rotateAngleX = -0.05235988F;
            modelrenderer.rotateAngleZ = 0.02617994F;
            this.witchHat.addChild(modelrenderer);
            ModelRenderer modelrenderer1 = (new ModelRenderer(this, ModelPart.Helmet)).setTextureSize(64, 128);

            modelrenderer1.setRotationPoint(1.75F, -4.0F, 2.0F);
            modelrenderer1.setTextureOffset(0, 87).addBox(0.0F, 0.0F, 0.0F, 4, 4, 4, "Hat Piece");
            modelrenderer1.rotateAngleX = -0.10471976F;
            modelrenderer1.rotateAngleZ = 0.05235988F;
            modelrenderer.addChild(modelrenderer1);
            ModelRenderer modelrenderer2 = (new ModelRenderer(this, ModelPart.Helmet)).setTextureSize(64, 128);

            modelrenderer2.setRotationPoint(1.75F, -2.0F, 2.0F);
            modelrenderer2.setTextureOffset(0, 95).addBox(0.0F, 0.0F, 0.0F, 1, 2, 1, 0.25F, "Hat Piece");
            modelrenderer2.rotateAngleX = -0.20943952F;
            modelrenderer2.rotateAngleZ = 0.10471976F;
            modelrenderer1.addChild(modelrenderer2);
        }
Exemplo n.º 10
0
 private void Warm(GraphicsDevice device)
 {
     modelrenderer = new ModelRenderer(device);
     material      = new BasicEffect(device);
     material.VertexColorEnabled = true;
     is_warm = true;
 }
Exemplo n.º 11
0
 public void SetBodyRotation(Vector3 rotation)
 {
     if (ModelRenderer.GetBone("body", out var head))
     {
         head.Rotation = rotation;
     }
 }
Exemplo n.º 12
0
        public ModelGuardian()
        {
            this.textureWidth   = 64;
            this.textureHeight  = 64;
            this.guardianSpines = new ModelRenderer[12];
            this.guardianBody   = new ModelRenderer(this, ModelPart.Chest);
            this.guardianBody.setTextureOffset(0, 0).addBox(-6.0F, 10.0F, -8.0F, 12, 12, 16, "Front");
            this.guardianBody.setTextureOffset(0, 28).addBox(-8.0F, 10.0F, -6.0F, 2, 12, 12, "Right");
            this.guardianBody.setTextureOffset(0, 28).addBox(6.0F, 10.0F, -6.0F, 2, 12, 12, true, "Left");
            this.guardianBody.setTextureOffset(16, 40).addBox(-6.0F, 8.0F, -6.0F, 12, 2, 12, "Top");
            this.guardianBody.setTextureOffset(16, 40).addBox(-6.0F, 22.0F, -6.0F, 12, 2, 12, "Bottom");

            for (int i = 0; i < this.guardianSpines.Length; ++i)
            {
                this.guardianSpines[i] = new ModelRenderer(this, 0, 0, ModelPart.LeftArm);
                this.guardianSpines[i].addBox(-1.0F, -4.5F, -1.0F, 2, 9, 2, "Spine");
                this.guardianBody.addChild(this.guardianSpines[i]);
            }

            this.guardianEye = new ModelRenderer(this, 8, 0, ModelPart.Helmet);
            this.guardianEye.addBox(-1.0F, 15.0F, 0.0F, 2, 2, 1, "Eye");
            this.guardianBody.addChild(this.guardianEye);
            this.guardianTail    = new ModelRenderer[3];
            this.guardianTail[0] = new ModelRenderer(this, 40, 0, ModelPart.LeftLeg);
            this.guardianTail[0].addBox(-2.0F, 14.0F, 7.0F, 4, 4, 8, "Tail");
            this.guardianTail[1] = new ModelRenderer(this, 0, 54, ModelPart.LeftLeg);
            this.guardianTail[1].addBox(0.0F, 14.0F, 0.0F, 3, 3, 7, "Tail");
            this.guardianTail[2] = new ModelRenderer(this, ModelPart.LeftLeg);
            this.guardianTail[2].setTextureOffset(41, 32).addBox(0.0F, 14.0F, 0.0F, 2, 2, 6, "Tail");
            this.guardianTail[2].setTextureOffset(25, 19).addBox(1.0F, 10.5F, 3.0F, 1, 9, 9, "Tail");
            this.guardianBody.addChild(this.guardianTail[0]);
            this.guardianTail[0].addChild(this.guardianTail[1]);
            this.guardianTail[1].addChild(this.guardianTail[2]);
        }
Exemplo n.º 13
0
    public static IEnumerator RenderOutfit(DCustomOutfit outfit, Color beakColor, Color bodyColor, Color bellyColor, ImageBuilderCameraData cameraData, GameObject avatarGO, Func <ModelRenderer, bool> onProcessModel, AvatarAnimationFrame animationFrame = null)
    {
        AvatarModel avatarModel = avatarGO.GetComponent <AvatarModel>();

        avatarModel.BeakColor  = beakColor;
        avatarModel.BodyColor  = bodyColor;
        avatarModel.BellyColor = bellyColor;
        avatarModel.ClearAllEquipment();
        avatarModel.ApplyOutfit(outfit);
        AvatarView avatarView = avatarGO.GetComponent <AvatarView>();

        yield return(new WaitUntil(() => avatarView.IsReady));

        ModelRendererConfig renderConfig = new ModelRendererConfig(avatarGO.transform, cameraData.ModelOffset, new Vector2(cameraData.IconSize, cameraData.IconSize));

        avatarGO.transform.Rotate(cameraData.ModelRotation);
        renderConfig.FieldOfView = cameraData.FieldOfView;
        ModelRenderer modelRenderer = new ModelRenderer(renderConfig);

        modelRenderer.RotateCamera(cameraData.CameraRotation);
        if (animationFrame != null)
        {
            Animator component = avatarGO.GetComponent <Animator>();
            component.Play(animationFrame.StateName, animationFrame.Layer, animationFrame.Time);
        }
        do
        {
            yield return(null);
        }while (onProcessModel(modelRenderer));
    }
Exemplo n.º 14
0
 public ModelPrefab()
     : base()
 {
     Name     = "ModelPrefab-" + System.Guid.NewGuid();
     renderer = AddComponent <ModelRenderer>();
     collider = AddComponent <SphereCollider>();
 }
Exemplo n.º 15
0
        public ModelMagmaCube()
        {
            for (int i = 0; i < this.segments.Length; ++i)
            {
                int j = 0;
                int k = i;

                if (i == 2)
                {
                    j = 24;
                    k = 10;
                }
                else if (i == 3)
                {
                    j = 24;
                    k = 19;
                }

                this.segments[i] = new ModelRenderer(this, j, k);
                this.segments[i].addBox(-4.0F, (float)(16 + i), -4.0F, 8, 1, 8, "Segment " + i);
            }

            this.core = new ModelRenderer(this, 0, 16);
            this.core.addBox(-2.0F, 18.0F, -2.0F, 4, 4, 4, "Core");
        }
Exemplo n.º 16
0
 public SceneContext(IFileSystem fileSystem, ICommandContext commandContext, ModelRenderer modelRenderer, string shadersDirectory)
 {
     GlobalResourceCache = new ResourceCache(fileSystem, shadersDirectory);
     MapResourceCache    = new ResourceCache(fileSystem, shadersDirectory);
     TextureLoader       = new TextureLoader(commandContext);
     ModelRenderer       = modelRenderer ?? throw new ArgumentNullException(nameof(modelRenderer));
 }
Exemplo n.º 17
0
        public ModelMagmaCube()
        {
            Field_40345_a = new ModelRenderer[8];

            for (int i = 0; i < Field_40345_a.Length; i++)
            {
                sbyte byte0 = 0;
                int   j     = i;

                if (i == 2)
                {
                    byte0 = 24;
                    j     = 10;
                }
                else if (i == 3)
                {
                    byte0 = 24;
                    j     = 19;
                }

                Field_40345_a[i] = new ModelRenderer(this, byte0, j);
                Field_40345_a[i].AddBox(-4F, 16 + i, -4F, 8, 1, 8);
            }

            Field_40344_b = new ModelRenderer(this, 0, 16);
            Field_40344_b.AddBox(-2F, 18F, -2F, 4, 4, 4);
        }
Exemplo n.º 18
0
        public Renderer(DefaultPlatform platform, GraphicSettings graphicSettings)
        {
            this.platform = platform;
            var resolution = GetResolution(graphicSettings);

            Window  = platform.CreateWindow(new Size(resolution.Width, resolution.Height), graphicSettings.Mode, graphicSettings.BatchSize, Game.Settings.Graphics.DisableWindowsDPIScaling, Game.Settings.Game.LockMouseWindow, Game.Settings.Graphics.DisableWindowsRenderThread);
            Context = Window.Context;

            TempBufferSize = graphicSettings.BatchSize;
            SheetSize      = graphicSettings.SheetSize;

            WorldSpriteRenderer     = new SpriteRenderer("WorldSpriteRenderer", this, Context.CreateShader("combined"));         // каждый имеет vertex массив, VAO это tempbuffer.
            WorldRgbaSpriteRenderer = new RgbaSpriteRenderer(WorldSpriteRenderer);
            WorldRgbaColorRenderer  = new RgbaColorRenderer(WorldSpriteRenderer);
            WorldModelRenderer      = new ModelRenderer(this, Context.CreateShader("model"));                               // каждый имеет vertex массив, VAO это tempbuffer
            SpriteRenderer          = new SpriteRenderer("SpriteRenderer", this, Context.CreateShader("combined"));         // каждый имеет vertex массив, VAO это tempbuffer.
            RgbaSpriteRenderer      = new RgbaSpriteRenderer(SpriteRenderer);                                               // эти пишут в родительский VBO
            RgbaColorRenderer       = new RgbaColorRenderer(SpriteRenderer);                                                // эти пишут в родительский VBO
            FontSpriteRenderer      = new SpriteRenderer("FontSpriteRenderer", this, Context.CreateShader("text"));         // каждый имеет свой vertex массив, VAO это tempbuffer.
            ImguiSpriteRenderer     = new SpriteRenderer("ImguiSpriteRenderer", this, Context.CreateShader("combined"));    // для ImGui
            PixelDumpRenderer       = new PixelDumpRenderer("ImguiSpriteRenderer", this, Context.CreateShader("combined")); // для ImGui

            sproc = new ShaderIF_API();
            IntPtr context = ImGui.CreateContext();

            ImGui.SetCurrentContext(context);

            RendererVertexBuffer = Context.CreateVertexBuffer(TempBufferSize, "Renderer");
        }
Exemplo n.º 19
0
        public ModelBat()
        {
            this.textureWidth  = 64;
            this.textureHeight = 64;
            this.batHead       = new ModelRenderer(this, 0, 0, ModelPart.Head);
            this.batHead.addBox(-3.0F, -3.0F, -3.0F, 6, 6, 6, "Head");
            ModelRenderer modelrenderer = new ModelRenderer(this, 24, 0, ModelPart.Head);

            modelrenderer.addBox(-4.0F, -6.0F, -2.0F, 3, 4, 1, "Right Ear");
            this.batHead.addChild(modelrenderer);
            ModelRenderer modelrenderer1 = new ModelRenderer(this, 24, 0, ModelPart.Head);

            modelrenderer1.mirror = true;
            modelrenderer1.addBox(1.0F, -6.0F, -2.0F, 3, 4, 1, "Left Ear");
            this.batHead.addChild(modelrenderer1);
            this.batBody = new ModelRenderer(this, 0, 16, ModelPart.Chest);
            this.batBody.addBox(-3.0F, 4.0F, -3.0F, 6, 12, 6, "Body");
            this.batBody.setTextureOffset(0, 34).addBox(-5.0F, 16.0F, 0.0F, 10, 6, 1, "Feet");
            this.batRightWing = new ModelRenderer(this, 42, 0, ModelPart.RightArm);
            this.batRightWing.addBox(-12.0F, 1.0F, 1.5F, 10, 16, 1, "Right Wing");
            this.batOuterRightWing = new ModelRenderer(this, 24, 16, ModelPart.RightArm);
            this.batOuterRightWing.setRotationPoint(-12.0F, 1.0F, 1.5F);
            this.batOuterRightWing.addBox(-8.0F, 1.0F, 0.0F, 8, 12, 1, "Right Outer Wing");
            this.batLeftWing        = new ModelRenderer(this, 42, 0, ModelPart.LeftArm);
            this.batLeftWing.mirror = true;
            this.batLeftWing.addBox(2.0F, 1.0F, 1.5F, 10, 16, 1, "Left Wing");
            this.batOuterLeftWing        = new ModelRenderer(this, 24, 16, ModelPart.LeftArm);
            this.batOuterLeftWing.mirror = true;
            this.batOuterLeftWing.setRotationPoint(12.0F, 1.0F, 1.5F);
            this.batOuterLeftWing.addBox(0.0F, 1.0F, 0.0F, 8, 12, 1, "Left Outer Wing");
            this.batBody.addChild(this.batRightWing);
            this.batBody.addChild(this.batLeftWing);
            this.batRightWing.addChild(this.batOuterRightWing);
            this.batLeftWing.addChild(this.batOuterLeftWing);
        }
Exemplo n.º 20
0
 public ModelVillager(float p_i1164_1_, float p_i1164_2_, int p_i1164_3_, int p_i1164_4_)
 {
     this.villagerHead = (new ModelRenderer(this, ModelPart.Head)).setTextureSize(p_i1164_3_, p_i1164_4_);
     this.villagerHead.setRotationPoint(0.0F, 0.0F + p_i1164_2_, 0.0F);
     this.villagerHead.setTextureOffset(0, 0).addBox(-4.0F, -10.0F, -4.0F, 8, 10, 8, p_i1164_1_, "Head");
     this.villagerNose = (new ModelRenderer(this, ModelPart.Head)).setTextureSize(p_i1164_3_, p_i1164_4_);
     this.villagerNose.setRotationPoint(0.0F, p_i1164_2_ - 2.0F, 0.0F);
     this.villagerNose.setTextureOffset(24, 0).addBox(-1.0F, -1.0F, -6.0F, 2, 4, 2, p_i1164_1_, "Nose");
     this.villagerHead.addChild(this.villagerNose);
     this.villagerBody = (new ModelRenderer(this, ModelPart.Chest)).setTextureSize(p_i1164_3_, p_i1164_4_);
     this.villagerBody.setRotationPoint(0.0F, 0.0F + p_i1164_2_, 0.0F);
     this.villagerBody.setTextureOffset(16, 20).addBox(-4.0F, 0.0F, -3.0F, 8, 12, 6, p_i1164_1_, "Body");
     this.villagerBody.setTextureOffset(0, 38).addBox(-4.0F, 0.0F, -3.0F, 8, 18, 6, p_i1164_1_ + 0.5F, "Cloak");
     this.villagerArms = (new ModelRenderer(this, ModelPart.LeftArm)).setTextureSize(p_i1164_3_, p_i1164_4_);
     this.villagerArms.setRotationPoint(0.0F, 0.0F + p_i1164_2_ + 2.0F, 0.0F);
     this.villagerArms.setTextureOffset(44, 22).addBox(-8.0F, -2.0F, -2.0F, 4, 8, 4, p_i1164_1_, "Arms Right");
     this.villagerArms.setTextureOffset(44, 22).addBox(4.0F, -2.0F, -2.0F, 4, 8, 4, p_i1164_1_, "Arms Left");
     this.villagerArms.setTextureOffset(40, 38).addBox(-4.0F, 2.0F, -2.0F, 8, 4, 4, p_i1164_1_, "Arms Center");
     this.rightVillagerLeg = (new ModelRenderer(this, 0, 22, ModelPart.RightLeg)).setTextureSize(p_i1164_3_, p_i1164_4_);
     this.rightVillagerLeg.setRotationPoint(-2.0F, 12.0F + p_i1164_2_, 0.0F);
     this.rightVillagerLeg.addBox(-2.0F, 0.0F, -2.0F, 4, 12, 4, p_i1164_1_, "Right Leg");
     this.leftVillagerLeg        = (new ModelRenderer(this, 0, 22, ModelPart.LeftLeg)).setTextureSize(p_i1164_3_, p_i1164_4_);
     this.leftVillagerLeg.mirror = true;
     this.leftVillagerLeg.setRotationPoint(2.0F, 12.0F + p_i1164_2_, 0.0F);
     this.leftVillagerLeg.addBox(-2.0F, 0.0F, -2.0F, 4, 12, 4, p_i1164_1_, "Left Leg");
 }
Exemplo n.º 21
0
 public ModelCape()
 {
     this.bipedCape = new ModelRenderer(this, 0, 0);
     this.bipedCape.setTextureSize(64, 32);
     this.bipedCape.addBox(-5.0F, 0.0F, -1.0F, 10, 16, 1, 0, "Cape");
     this.bipedCape.rotateAngleY = (float)(Math.PI);
 }
Exemplo n.º 22
0
 public void SetLegRotation(Vector3 rotation, bool isLeftLeg)
 {
     if (ModelRenderer.GetBone(isLeftLeg ? "leftleg" : "rightleg", out var head))
     {
         head.Rotation = rotation;
     }
 }
Exemplo n.º 23
0
 public ModelOcelot()
 {
     this.setTextureOffset("head.main", 0, 0);
     this.setTextureOffset("head.nose", 0, 24);
     this.setTextureOffset("head.ear1", 0, 10);
     this.setTextureOffset("head.ear2", 6, 10);
     this.ocelotHead = new ModelRenderer(this, "head");
     this.ocelotHead.addBox("main", -2.5F, -2.0F, -3.0F, 5, 4, 5);
     this.ocelotHead.addBox("nose", -1.5F, 0.0F, -4.0F, 3, 2, 2);
     this.ocelotHead.addBox("ear1", -2.0F, -3.0F, 0.0F, 1, 1, 2);
     this.ocelotHead.addBox("ear2", 1.0F, -3.0F, 0.0F, 1, 1, 2);
     this.ocelotHead.setRotationPoint(0.0F, 15.0F, -9.0F);
     this.ocelotBody = new ModelRenderer(this, 20, 0);
     this.ocelotBody.addBox(-2.0F, 3.0F, -8.0F, 4, 16, 6, 0.0F, "Body");
     this.ocelotBody.setRotationPoint(0.0F, 12.0F, -10.0F);
     this.ocelotTail = new ModelRenderer(this, 0, 15);
     this.ocelotTail.addBox(-0.5F, 0.0F, 0.0F, 1, 8, 1, "Tail");
     this.ocelotTail.rotateAngleX = 0.9F;
     this.ocelotTail.setRotationPoint(0.0F, 15.0F, 8.0F);
     this.ocelotTail2 = new ModelRenderer(this, 4, 15);
     this.ocelotTail2.addBox(-0.5F, 0.0F, 0.0F, 1, 8, 1, "Tail End");
     this.ocelotTail2.setRotationPoint(0.0F, 20.0F, 14.0F);
     this.ocelotBackLeftLeg = new ModelRenderer(this, 8, 13);
     this.ocelotBackLeftLeg.addBox(-1.0F, 0.0F, 1.0F, 2, 6, 2, "Back Left Leg");
     this.ocelotBackLeftLeg.setRotationPoint(1.1F, 18.0F, 5.0F);
     this.ocelotBackRightLeg = new ModelRenderer(this, 8, 13);
     this.ocelotBackRightLeg.addBox(-1.0F, 0.0F, 1.0F, 2, 6, 2, "Back Right Leg");
     this.ocelotBackRightLeg.setRotationPoint(-1.1F, 18.0F, 5.0F);
     this.ocelotFrontLeftLeg = new ModelRenderer(this, 40, 0);
     this.ocelotFrontLeftLeg.addBox(-1.0F, 0.0F, 0.0F, 2, 10, 2, "Front Left Leg");
     this.ocelotFrontLeftLeg.setRotationPoint(1.2F, 13.8F, -5.0F);
     this.ocelotFrontRightLeg = new ModelRenderer(this, 40, 0);
     this.ocelotFrontRightLeg.addBox(-1.0F, 0.0F, 0.0F, 2, 10, 2, "Front Right Leg");
     this.ocelotFrontRightLeg.setRotationPoint(-1.2F, 13.8F, -5.0F);
 }
Exemplo n.º 24
0
 public void SetArmRotation(Vector3 rotation, bool isLeftArm)
 {
     if (ModelRenderer.GetBone(isLeftArm ? "leftarm" : "rightarm", out var head))
     {
         head.Rotation = rotation;
     }
 }
Exemplo n.º 25
0
 public ModelSign()
 {
     SignBoard = new ModelRenderer(this, 0, 0);
     SignBoard.AddBox(-12F, -14F, -1F, 24, 12, 2, 0.0F);
     SignStick = new ModelRenderer(this, 0, 14);
     SignStick.AddBox(-1F, -2F, -1F, 2, 14, 2, 0.0F);
 }
Exemplo n.º 26
0
        public ModelCreeper(float p_i46366_1_)
        {
            int i = 6;

            this.head = new ModelRenderer(this, 0, 0, ModelPart.Head);
            this.head.addBox(-4.0F, -8.0F, -4.0F, 8, 8, 8, p_i46366_1_, "Head");
            this.head.setRotationPoint(0.0F, (float)i, 0.0F);
            //this.creeperArmor = new ModelRenderer(this, 32, 0, ModelPart.ChestArmor);
            //this.creeperArmor.addBox(-4.0F, -8.0F, -4.0F, 8, 8, 8, p_i46366_1_ + 0.5F);
            //this.creeperArmor.setRotationPoint(0.0F, (float)i, 0.0F);
            this.body = new ModelRenderer(this, 16, 16, ModelPart.Chest);
            this.body.addBox(-4.0F, 0.0F, -2.0F, 8, 12, 4, p_i46366_1_, "Body");
            this.body.setRotationPoint(0.0F, (float)i, 0.0F);
            this.leg1 = new ModelRenderer(this, 0, 16, ModelPart.LeftLeg);
            this.leg1.addBox(-2.0F, 0.0F, -2.0F, 4, 6, 4, p_i46366_1_, "Leg 1");
            this.leg1.setRotationPoint(-2.0F, (float)(12 + i), 4.0F);
            this.leg2 = new ModelRenderer(this, 0, 16, ModelPart.RightLeg);
            this.leg2.addBox(-2.0F, 0.0F, -2.0F, 4, 6, 4, p_i46366_1_, "Leg 2");
            this.leg2.setRotationPoint(2.0F, (float)(12 + i), 4.0F);
            this.leg3 = new ModelRenderer(this, 0, 16, ModelPart.LeftArm);
            this.leg3.addBox(-2.0F, 0.0F, -2.0F, 4, 6, 4, p_i46366_1_, "Leg 3");
            this.leg3.setRotationPoint(-2.0F, (float)(12 + i), -4.0F);
            this.leg4 = new ModelRenderer(this, 0, 16, ModelPart.RightArm);
            this.leg4.addBox(-2.0F, 0.0F, -2.0F, 4, 6, 4, p_i46366_1_, "Leg 4");
            this.leg4.setRotationPoint(2.0F, (float)(12 + i), -4.0F);
        }
Exemplo n.º 27
0
        public void NullModelDrawnWontThrow()
        {
            var modelRenderer = new ModelRenderer(Resolve <Drawing>());

            Assert.DoesNotThrow(
                () => { modelRenderer.Draw(new List <DrawableEntity>(new Model[] { null })); });
        }
Exemplo n.º 28
0
        public ModelEnderman() : base(0.0F, -14F)
        {
            IsCarrying  = false;
            IsAttacking = false;
            float f  = -14F;
            float f1 = 0.0F;

            BipedHeadwear = new ModelRenderer(this, 0, 16);
            BipedHeadwear.AddBox(-4F, -8F, -4F, 8, 8, 8, f1 - 0.5F);
            BipedHeadwear.SetRotationPoint(0.0F, 0.0F + f, 0.0F);
            BipedBody = new ModelRenderer(this, 32, 16);
            BipedBody.AddBox(-4F, 0.0F, -2F, 8, 12, 4, f1);
            BipedBody.SetRotationPoint(0.0F, 0.0F + f, 0.0F);
            BipedRightArm = new ModelRenderer(this, 56, 0);
            BipedRightArm.AddBox(-1F, -2F, -1F, 2, 30, 2, f1);
            BipedRightArm.SetRotationPoint(-3F, 2.0F + f, 0.0F);
            BipedLeftArm        = new ModelRenderer(this, 56, 0);
            BipedLeftArm.Mirror = true;
            BipedLeftArm.AddBox(-1F, -2F, -1F, 2, 30, 2, f1);
            BipedLeftArm.SetRotationPoint(5F, 2.0F + f, 0.0F);
            BipedRightLeg = new ModelRenderer(this, 56, 0);
            BipedRightLeg.AddBox(-1F, 0.0F, -1F, 2, 30, 2, f1);
            BipedRightLeg.SetRotationPoint(-2F, 12F + f, 0.0F);
            BipedLeftLeg        = new ModelRenderer(this, 56, 0);
            BipedLeftLeg.Mirror = true;
            BipedLeftLeg.AddBox(-1F, 0.0F, -1F, 2, 30, 2, f1);
            BipedLeftLeg.SetRotationPoint(2.0F, 12F + f, 0.0F);
        }
Exemplo n.º 29
0
        public ModelIronGolem(float p_i46362_1_, float p_i46362_2_)
        {
            int i = 128;
            int j = 128;

            this.ironGolemHead = (new ModelRenderer(this, ModelPart.Head)).setTextureSize(i, j);
            this.ironGolemHead.setRotationPoint(0.0F, 0.0F + p_i46362_2_, -2.0F);
            this.ironGolemHead.setTextureOffset(0, 0).addBox(-4.0F, -12.0F, -5.5F, 8, 10, 8, p_i46362_1_, "Head");
            this.ironGolemHead.setTextureOffset(24, 0).addBox(-1.0F, -5.0F, -7.5F, 2, 4, 2, p_i46362_1_, "Nose");
            this.ironGolemBody = (new ModelRenderer(this, ModelPart.Chest)).setTextureSize(i, j);
            this.ironGolemBody.setRotationPoint(0.0F, 0.0F + p_i46362_2_, 0.0F);
            this.ironGolemBody.setTextureOffset(0, 40).addBox(-9.0F, -2.0F, -6.0F, 18, 12, 11, p_i46362_1_, "Chest");
            this.ironGolemBody.setTextureOffset(0, 70).addBox(-4.5F, 10.0F, -3.0F, 9, 5, 6, p_i46362_1_ + 0.5F, "Waist");
            this.ironGolemRightArm = (new ModelRenderer(this, ModelPart.RightArm)).setTextureSize(i, j);
            this.ironGolemRightArm.setRotationPoint(0.0F, -7.0F, 0.0F);
            this.ironGolemRightArm.setTextureOffset(60, 21).addBox(-13.0F, -2.5F, -3.0F, 4, 30, 6, p_i46362_1_, "Right Arm");
            this.ironGolemLeftArm = (new ModelRenderer(this, ModelPart.LeftArm)).setTextureSize(i, j);
            this.ironGolemLeftArm.setRotationPoint(0.0F, -7.0F, 0.0F);
            this.ironGolemLeftArm.setTextureOffset(60, 58).addBox(9.0F, -2.5F, -3.0F, 4, 30, 6, p_i46362_1_, "Left Arm");
            this.ironGolemLeftLeg = (new ModelRenderer(this, 0, 22, ModelPart.RightLeg)).setTextureSize(i, j);
            this.ironGolemLeftLeg.setRotationPoint(-4.0F, 18.0F + p_i46362_2_, 0.0F);
            this.ironGolemLeftLeg.setTextureOffset(37, 0).addBox(-3.5F, -3.0F, -3.0F, 6, 16, 5, p_i46362_1_, "Right Leg");
            this.ironGolemRightLeg        = (new ModelRenderer(this, 0, 22, ModelPart.LeftLeg)).setTextureSize(i, j);
            this.ironGolemRightLeg.mirror = true;
            this.ironGolemRightLeg.setTextureOffset(60, 0).setRotationPoint(5.0F, 18.0F + p_i46362_2_, 0.0F);
            this.ironGolemRightLeg.addBox(-3.5F, -3.0F, -3.0F, 6, 16, 5, p_i46362_1_, "Left Leg");
        }
Exemplo n.º 30
0
        private void Form1_Shown(object sender, EventArgs e)
        {
            Stopwatch sw = new Stopwatch();

            sw.Start();

            var model = ModelFiles.GetAfricanHeadModel();

            //var model = ModelFiles.GetDiabloModel();

            sw.Stop();

            var renderer = new ModelRenderer(new ShadowShaderRenderer(model, pictureBox1));

            //var renderer = new ModelRenderer(new NoToneShaderRenderer(model, pictureBox1));
            //var renderer = new ModelRenderer(new ToonShaderRenderer(model, pictureBox1));
            //var renderer = new ModelRenderer(new NormalMapShaderRenderer(model, pictureBox1));
            renderer.Render();

            InfoViewer.ShowDiagnosticInfo
                ($"Loading Time: {sw.Elapsed.TotalMilliseconds:f2} ms", new PointF(10, 10), Graphics.FromImage(pictureBox1.Image));

            InfoViewer.ShowDiagnosticInfo
                ($"Triangles Count: {model.FacesV.Count}", new PointF(10, 50), Graphics.FromImage(pictureBox1.Image));

            InfoViewer.ShowDiagnosticInfo
                ($"Resolution: {pictureBox1.Width} X {pictureBox1.Height}", new PointF(10, 70), Graphics.FromImage(pictureBox1.Image));
        }
Exemplo n.º 31
0
 public ModelBox(ModelRenderer modelrenderer, string name, int i, int j, float f, float f1, float f2, int k,
     int l, int i1, float f3)
 {
     sizeOfs = f3;
     texX = i;
     texY = j;
     Name = name;
     x = f;
     y = f1;
     z = f2;
     xMax = f + k;
     yMax = f1 + l;
     zMax = f2 + i1;
     field_40679_h = new PositionTextureVertex[8];
     field_40680_i = new TexturedQuad[6];
     float f4 = f + k;
     float f5 = f1 + l;
     float f6 = f2 + i1;
     f -= f3;
     f1 -= f3;
     f2 -= f3;
     f4 += f3;
     f5 += f3;
     f6 += f3;
     if (modelrenderer.mirror)
     {
         float f7 = f4;
         f4 = f;
         f = f7;
     }
     var positiontexturevertex = new PositionTextureVertex(f, f1, f2, 0.0F, 0.0F);
     var positiontexturevertex1 = new PositionTextureVertex(f4, f1, f2, 0.0F, 8F);
     var positiontexturevertex2 = new PositionTextureVertex(f4, f5, f2, 8F, 8F);
     var positiontexturevertex3 = new PositionTextureVertex(f, f5, f2, 8F, 0.0F);
     var positiontexturevertex4 = new PositionTextureVertex(f, f1, f6, 0.0F, 0.0F);
     var positiontexturevertex5 = new PositionTextureVertex(f4, f1, f6, 0.0F, 8F);
     var positiontexturevertex6 = new PositionTextureVertex(f4, f5, f6, 8F, 8F);
     var positiontexturevertex7 = new PositionTextureVertex(f, f5, f6, 8F, 0.0F);
     field_40679_h[0] = positiontexturevertex;
     field_40679_h[1] = positiontexturevertex1;
     field_40679_h[2] = positiontexturevertex2;
     field_40679_h[3] = positiontexturevertex3;
     field_40679_h[4] = positiontexturevertex4;
     field_40679_h[5] = positiontexturevertex5;
     field_40679_h[6] = positiontexturevertex6;
     field_40679_h[7] = positiontexturevertex7;
     field_40680_i[0] = new TexturedQuad(new[]
                                         {
                                             positiontexturevertex5, positiontexturevertex1, positiontexturevertex2,
                                             positiontexturevertex6
                                         }, i + i1 + k, j + i1, i + i1 + k + i1, j + i1 + l, modelrenderer.textureWidth,
                                         modelrenderer.textureHeight);
     field_40680_i[1] = new TexturedQuad(new[]
                                         {
                                             positiontexturevertex, positiontexturevertex4, positiontexturevertex7,
                                             positiontexturevertex3
                                         }, i + 0, j + i1, i + i1, j + i1 + l, modelrenderer.textureWidth,
                                         modelrenderer.textureHeight);
     field_40680_i[2] = new TexturedQuad(new[]
                                         {
                                             positiontexturevertex5, positiontexturevertex4, positiontexturevertex,
                                             positiontexturevertex1
                                         }, i + i1, j + 0, i + i1 + k, j + i1, modelrenderer.textureWidth,
                                         modelrenderer.textureHeight);
     field_40680_i[3] = new TexturedQuad(new[]
                                         {
                                             positiontexturevertex2, positiontexturevertex3, positiontexturevertex7,
                                             positiontexturevertex6
                                         }, i + i1 + k, j + i1, i + i1 + k + k, j + 0, modelrenderer.textureWidth,
                                         modelrenderer.textureHeight);
     field_40680_i[4] = new TexturedQuad(new[]
                                         {
                                             positiontexturevertex1, positiontexturevertex, positiontexturevertex3,
                                             positiontexturevertex2
                                         }, i + i1, j + i1, i + i1 + k, j + i1 + l, modelrenderer.textureWidth,
                                         modelrenderer.textureHeight);
     field_40680_i[5] = new TexturedQuad(new[]
                                         {
                                             positiontexturevertex4, positiontexturevertex5, positiontexturevertex6,
                                             positiontexturevertex7
                                         }, i + i1 + k + i1, j + i1, i + i1 + k + i1 + k, j + i1 + l,
                                         modelrenderer.textureWidth, modelrenderer.textureHeight);
     if (modelrenderer.mirror)
     {
         for (int j1 = 0; j1 < field_40680_i.Length; j1++)
             field_40680_i[j1].flipFace();
     }
 }
Exemplo n.º 32
0
		public void NullModelDrawnWontThrow()
		{
			var modelRenderer = new ModelRenderer(Resolve<Drawing>());
			Assert.DoesNotThrow(
				() => { modelRenderer.Draw(new List<DrawableEntity>(new Model[] { null })); });
		}
Exemplo n.º 33
0
 public void addChild(ModelRenderer modelrenderer)
 {
     if (childModels == null)
         childModels = new List<ModelRenderer>();
     childModels.Add(modelrenderer);
 }