zoukankan      html  css  js  c++  java
  • The Vegetation

    It is said

    It's a great game. Seven years to create world horizon

    And we often have to work on sundays

    Ah, this is a little to the new dresses. Take talk

    Uh welcome everybody

    It's good to see. The house is full

    You haven't done already

    It's appreciated

    Allow me to introduce myself

    Uh, my name is xu bell sounds and I'm a principal artist during the games

    We are responsible for the creation of the vegetation of horizon zero dawn

    After working at great game since two thousand six

    To uh as an environment artist and killed three as a shade texture artist

    Um, and after these two games, at the beginning of 2011

    Within the studio that started testing a prototype in what later would become a rise until dawn

    I also a little bit of work on cheerful but you should also a little on and from two thousand fourteen on which

    Full production on horizon zero dawn

    Nice that's good

    Let's see. Um. Well playing the game, you might not have a

    Focused on on vegetation as much

    Also a we should talk about vegetation. So let me start off with little clip to show you

    And the creating

    I don't have any sound. So usually it doesn't like

    I have

    Bother you with that

    Throw

    Just a little bit more

    Are you ready?

    Okay, um, your, oh, I get it today to him. Talk about the vegetation we create for, again

    Most people have dealt with same or similar challenges when it comes to creating, simulating and rendering nature assets

    Major assets are still even on this generation of hardware

    Annoying offer. Some suggestions of the real world

    Which is besides annoying. Also, what makes subject so interesting?

    Philosophy of make more with less certainly applies here

    I'm gonna string

    Together

    Uh but first

    Uh, let me start off with some overall Information

    Um

    And as an artist, unable to create maintain my own feathers

    Of course

    Overtaking

    Um, shared creation happens in my through my own shit notes

    Find it

    Go find the performance officials lies with the artist himself again. And the guidance of detecting

    But such

    Uh when it comes to the quality of the shaders, the assets as well as the performance of my work

    But this one engine used for children

    And we dragged present. You don't win the first second attention on a peaceful and four k on april

    When we started to develop what much later would be named horizon zero dawn

    This new ip worship

    If the moment most fish hurt

    Especially me

    Up there

    And seven years later I'm standing here in front of you to talk about it, um, and to talk about

    Very slowly formulation creating the world fries. And the rest of the studio was busy building keep a close eye shadow for

    Among study of a new piece for

    Within this game, bill behind enemy lines

    The one nature level and kills them shall fall can be seen as a rising star spirit

    And the movement of education

    We soon discovered that since education assets are not static assets assets with the latest Information on Top

    Outward thing and maintaining them prove to be sleepy, difficult

    We also got a good look at the performance of this nature level and learned and learned as that created for it the wrong way

    Would work in the open world of rising. We really need to rethink

    Before also mark the first hall beginning of placement system

    We had an open running in behind enemy lines in the simplest form, but told us that without the placement system

    We would not be able to create the world for rising

    Not the world that we truly envisioned

    The exercises, I would like to point to a dock that my colleagues, yup

    With your today is well, again, russia addition

    And you can find the paper uh on our website. Uh, and of course you can watch it in the ggc fold

    But the short version is we created a system in which an artist can describe a large variety of

    Interesting a believable environment

    We want the system to be highly are detectable

    It is to be fully data drive the journalist

    Local stable

    It

    Faces and testing the scale and performance of new assets. For instance

    I'm also play a link at the end of this

    Presentation on the last flight

    OK

    From the start, when you

    The simulation of nature need to be tied in with the weather system. We were designing for a game that needed to be out in game played riven

    It needed to drive the vertex program of vegetation changes

    So

    I'm sorry

    They were used locally. They were placed by hand on a way smaller scale than the way we were going to need food water horizon

    The global wind force field, as we call it

    A global wind force field is a computer

    Running at the beginning of every frame

    A bitch, three detectors. The shadows can sample

    There was one sentence, three

    A test player

    Uh, this allows the simulation to always be at its highest resolution closest to the player

    Uh, over distance, we gradually sample a 3D texture at a larger scale and at a lower resolution

    I'm so beautiful

    So

    And

    Also melt bit

    This is the second cascade

    We have another one for the scaling is a little bit of this one

    I guess this

    Show you what we do. Um

    Thank you. Just saw this is the ability to simulate for different categories of specialty

    Without any additional shade of logic. This allows us to set up distinctive different movement

    We're divide the assets, as you can see, into three categories

    Um

    I told you we could simulate at four. So we england

    Because special. But in the end, we use the last

    Sample to a driver business and touch them

    But that's a completely different doing

    Um

    For rendering and shading are for all intents and purposes, we only use two shades though

    We actually started off, I really want to display

    China everything

    I will talk about grace a little bit later, but I wanted to start off with a look at the vertex program of the shaded the price of trees and plants

    So we have a way to simulate wind, but still mr translate into the movement of assets on the screens

    To do that, we took similar approaches describing a jeep. You james three were is gaining a population was stored in the vertical information

    But can do two thousand eleven did was for the first articles and research when I was

    And to this day

    It was a few things that did not change during production

    Let me show you what we did

    Um, experimenting with the wind and looking for it in motion. In real life we found that too convincingly mimic

    Decreased american

    What's your motion or

    Which will deal with the branches and small motion which will deal with a bunch of branches or leaves

    So first

    I'm because these assets are less rigid. At the top is both the bottom. So we use the height of the exodus gradient

    The national movement is the branches and everything attached to it

    The president is new to populate rigidity. These plants have simply put which store distance the trunk

    Now we're getting to the last level, the leaves or anything that's small enough to act like leaves

    What we do here in our channel is

    We also use the green channel and we use it as an index. Um

    Sorry

    Think of it as a time of that them

    We also saw a precomputed ambient occlusion in the off channel

    Which useful couple of different judgements shade

    After

    With the vertex. Colors in place are vegetation. Shale can go to work

    Over as it needs be driving through this furniture. So we ended up

    Opening a a couple of variables that allowed us to tweet the animation on as a as a basis

    The variables on mike and orange and is five

    Enough to handle the Complete amount of variation that we have in game

    Reject is an easy one lot of trees with much so certain trees need to be dial down, all booked up

    For branches, we have to control

    We have bent which is the motion along the vector of the wind

    Um we have sweet

    To the factor of the wind

    Um, that we can bump up or down

    The last one

    I'm based on the

    Strength of the wind

    This to move what i've designated to be my leaves. So what you just saw in the right channel

    All right, since plants in our game is exactly the same shade as trees, but are usually smaller

    Uh, will you build it? A copy of ben's completely from the shelter, reducing costs

    Also on want to bending into that ring

    Also another big help with the shade. And is this little formula for information

    A remote place by the maximum of the winning game. And we have the ability to run book, the influence of the wind

    For different assets

    Um, I can recall are directional feedback about the leaves of aspen trees

    Um

    Grace is

    Um

    I'm first fan

    Uh

    But we want our class to be geometry. Know all the planes we want

    You know, it's squashed with the feed

    Use force gonna bring

    And we have been running it was pulled apart of our earliest prototypes

    I'm and rendering of the cross to a big diaphragm

    So we started the journey uh simplifying a glass bit by bit

    The to be done to make more with less

    And as for me, and an opera

    Um

    As little or as few triangles as we could

    A dedicated crusher

    Um

    The english answering. Right now, sometimes I talk about high emotions to none

    To lock out certain functionality in our shoulders on a per vote basis

    For granted, that would mean that a 3 here would not have an animated video program at that distance

    And also

    Uh, but I'm just a little bit. Let's go to the village program

    Um, we sort of our winter a force field a topic center amused hydrolysis grading to mimic which that information

    We start splashing overseas of grace. And this will be our base motion

    Um, but as you can see that this one will not always give us something spectacular

    And we need more than this alone

    What I also want to avoid is having the grass field over to one particular direction or standing still in one position

    For a long period of time. This gives unwanted artifacts. And so william

    Additional motion dr

    A drink. But I think the fourth built

    I added uh some large scale motion to

    And it's

    I think

    A double bed

    We have some small scale motion

    The army and animation, large and small together account for about eighty percent of the total information

    The rest comes from the winter people

    On Top of a simulation. And grass also has to do a little more

    I really want to avoid the player looking down on planes and having the

    Bill. And the geometry disappears when looking down on a mission. And so we dropped a match bearings

    Away from the camera

    Like like so

    To try to avoid

    Goes there. Guards come in

    Are reservations. Have a foot print

    Of one and a half meters approximately and placing them in the world without looking at the terrain result in some unwanted clipping

    Happy offers for littering soft of this. So based on the height, my power to ring, which splits the version of grace and pick space

    Finally, we also do too little things

    To help moving

    And scaling the whole mess down

    I'm explaining the assets with the terrain easier. And it gives a little performance boost

    All these little programs together make up the Complete program for that program over grass

    So we were measures. Sweetheart, let's move on to a shady settle on

    Transparency and engines even offered assistance. Policies are expensive

    And we did not have a lot of experience with bending over distances during acute and years

    And vegetation

    So the question was how do we handle the amount of vegetation that we know the world of horizon is going to need?

    Well

    First, as long as quarters

    In this initial, the only path we do our Alpha test

    Rendering this pass. First look at all the information

    After which we only have to do is that compare when renting a joint reports without an office?

    This is important, because offer this is incredibly expensive

    The german shepherd is much more expensive

    So

    Let's analyze the frame of a game to see what that means for rendering times on the gpu

    He can see a doctor of a jeep. You prefer intern

    I am filtering. And if you look

    In the Top right there is a placement and filtering on placement right now. So the percentage that you see here dear deal with all the assets

    Please buy our present system

    Technically, not all are a officer tests

    Uh, we use the placement system for a lot more than only of the first location. Like this, you can bet that 95% is of a test

    But look, sophie, are interested in are are deprived bus at almost ten percent over frame

    And our job departs at about eleven and a half. So that

    The toilet seat, close friend, rain, all this without are the only pass

    That's a huge difference

    A so

    A book. Notice in this early on, it became clear what huge difference

    The only path mate

    So

    We started um horizon zero dawn with signed distance of the pictures that

    Could give enormous control over the size of the offer in the shade

    We could a large and sugar, often sugar

    Are often over distance

    We did this to combat the quality decreased uh happens when the texas which is to lower middle class

    Also the company we had dynamics, no leadership that could also adjust the offer on the fly

    However

    Every found

    And we really were looking for percent just shape of

    So

    Let's have a look at our gpu profiler again

    And here's a little bitter flavor

    Course of a project

    What here

    It's the jeep. You probably can

    The two numbers to look at here are once more the different but also the shadow policies influenced

    Shadows are at almost nine percent free. The prices of six

    And here is with

    Dropped a few percent

    So what we do to get into those

    Finding a cost of adjusting are all far fewer shade

    This makes sense because we already sampled it in a shaded. So many think we can get out of this street

    We don't often to do this for us. And this too is described on the slide here

    Process

    Of the oldest image and build up a normal kitchen

    Each map. Um we have sample is made by linear

    I offered to sell you england is your bill and five. So dividing job and five until you found who gives the amount

    With which we need to scale that map to end up with our original coverage

    Sounds logical right

    By

    And usually presentation of a meeting

    And bottom two rows

    That appeared to represent the scales of a created by your own custom cover algorithm

    George work. That was done by a share in our results in a single decker sample

    Okay

    Making your offer as small as we should be possible is with practice

    But another thing to keep an eye on, especially for assets that you know

    You will draw a huge amount of

    Especially for classes. This simple change was a huge win

    Um, abc, abc for compressed texture

    That picture over there two five 6.128 comes in at 16 kilobytes without maps

    Twenty one killer. But whitney maps

    The version without me

    Until the graphic programmed it was working on a on the ancient solution

    Uh uh saw my chicken and wasn't too pleased about it. Um. So um

    We went for the

    Larger version

    We have under them

    Uh, you do really need a good ventilation solution to make this look awesome

    So uh

    A shout out to a paper

    Programmer

    This is an short

    Again, I will supply a link after the talk. Uh, in my last slide

    All right, let's have a look at the rest of the picture program

    So I guess my engine uses the fur trading and vegetation shaders right out to these cheap offers

    And the suggestions that we supply to a share

    With exceptional, with the exception of grass

    We also a mid pregnancy when we wonder most box

    On the slide you uh you see uh we have which is a teacher too

    Excuse me, donation to the lexus. A loading photo files with push a button or practice into compressor delivers files

    And what you see here is a typical

    So too busy seventh and busy for

    Great news

    If we are dealing with proper geometry, like plant this light, we do not have to do much more than we would with any of this really acid

    We only have to take into account the military, a double sided

    So based on the check

    The normal accordingly

    Where as it's rely heavily on airplanes or trying goes on feeding the normal

    Incorrectly can be extremely useful in hiding the card by nature over cannabis on the grass

    Uh, what we do is we just the normal of our vertices. Uh and take the absolute value of your space normal

    To ensure we never uh random normal facing away from the camera

    We use a nice service

    Surrounding a canopy

    And this is what

    Um, so let's compare between the incorrect and normal normal

    Um

    And this is

    It's highly artistic choice because you're breaking lighting and transitions in a way

    Uh, but again, when dealing with approximation of geometry, it can help in hiding the simple nature of your assets

    Especially on grass, when we tried a lot of things to hide the fact that it literally are

    Three two drivers

    We live to jump to a normal size is uh but we still do the apps on the z component of a few space normal

    And again, a g for short

    Bill middle

    All of education in our game is colorized

    And for aggression and graduation in our entire again, we have dictionary in which store sixty four because equal to

    Congress the shoes of one twenty eight by a picture

    Um

    Apart from the conversation of vegetation which is enlarged on that flight, um

    The sections also hold graduation of a rock

    The rain dust

    Um, the place in the world of asset uh dictates which direction to sample. So the w components

    Uh different types of what we call world data

    Are are captured um in one great culture that drives the components

    Um n

    Um, and think of this as

    Choices for different types of assets within the polarization structure

    I'm off at the station. I said steak one sample for the whole object, except grace, which we sample perfect

    To facilitate all this, we average out the core of our beta textures to a migraine value

    I'm we also have a math teacher in case there are, but we do not want jurors

    Um initiator

    The resulting color is the background color me to the forum color brighter. Wait for ground is bright

    Foreground is dark

    And this is what you get when you combine this in China

    We derive our office and perfect tense

    The european commission based on the vertex Alpha

    I'm an variable, which for the factors we fixed at four percent dielectric

    From this, we still want the little bit of arms control. So we opened up the variable

    Or strange version of a translucent texture. On Top of that

    The athletes way to differentiate advance between the leaves and bark should be present in a single picture

    Upon brush. Would you have further questions or attempting to push a doctor? Shall we used translation selection to do similar things

    The first transmission to the first

    Three eggs and strain here are happening at the hotel to speak

    But I just want to put them out there for classification. The last three items are open for are artist adjust

    The surface thickness in formed the amount of absorption inside the surface. And the whiteness of the shattering going scattering gone once

    He believes service on the other side

    We can go to this

    The translucent c amount

    We pretty much locked the amount of diffusion for all vegetation at a certain value at some point. And we control the translucent c amount by text sample

    And we also lay on top pre computer at all

    On which the combination of our a objection until your story in different colors

    For class again we use a derivative of the translucent and texture as a pre computed a o

    And last one is a big one where we break away from attempting physical correctness is lost face

    I'm

    Look for the game

    All right. That's sort of explain them

    You know what we need for winter

    Once again, when we started, we were the cute guys. So we knew how to do

    This

    And things like this

    Even found

    This

    So we knew we had our work cut out for us and to stretch our legs a bit. We build ourselves and our benchmark

    Annex found a video of that ad really want to share

    A disappointing built, as I believe it's in the beginning

    Of two thousand fourteen

    How dense we want to go on and how much to them

    A different accents we want to do to spawn with enough force

    Um

    Um but

    Most of danger to the highest lord and hoping to creative enough for things of distance to make a bomb

    And we continue to do this for some time during production

    And then king in three two thousand fifteen

    A first few fries and not only trip, but we were playing the play ball

    Um

    We need to do a huge organization bus on earth allergies through

    All sort of software processes

    Not so much on the highest note

    But we have to look need to go down

    Um

    What we can do to improve the performance and quality of our lds without having to resort on software solutions to reduce triangles

    I'm it would be gone

    All of creation

    So are most of thirst

    So let me illustrate this a little bit better. Um

    We built the lowest load of components that we want to address our tree or any other assets with

    It's usually the trial court. And we spent a small amount of time sketching out

    Um, anyway, so beautiful as to those

    Please will you speak with throughout the middle of rising

    I'm

    Exchanges

    So as soon as we feel that the acid works, we go into building the high resolution components needed to create a texture from

    And this is an example for of branched them

    We are little making. And I think that this is a branch

    But this high resolution components and

    As long as they match the pictures and text layout that you sketched out when you were beginning this as um

    As long as they match, um

    Um, and once we have all the high resolution models built and laid out, uh we we get them into my protection beijing

    We'll boil on shoulders and the ability to beat down this machine to choosing to live in space

    And now with these structures based on present, we return to our speed models

    Which we now treat as not three

    And start moving more

    And first one

    The little triangles you see surrounding these measures

    Other lds bounding boxes were similar

    With you speaking six twelve production and

    To make sure the day of land property

    We did not want to switch software half way through the bible or the project

    Um

    With a new lodging

    What we did anybody notice that we had in law into the why of speech?

    Really is to do, but quite full of people

    Um so

    We export large enough from speaking

    And a o to n f d x

    And then we use a custom hoodie process that we created in house

    That takes a fresh take the schedule scanning data and converts the data to the vertical that I described at the beginning of this presentation

    All that's left for us now is to set the extra mile and exported to our game

    So

    Again, we used I looked in law watches and you noticed we have

    Um

    Demonstration special

    Um on here

    OK

    We use for cascades, for essentials

    Um, in the compartment. This case that is

    And that means that a lake of high quality shadows

    Tom, oh, my education does not render in this cascade

    Cascades zero and one

    Our standard standard shadow maps. And we have a discount ticket

    But let's talk about cascade zero and one of the standard treatments since these are the ones uh vegetation rendered into

    And when entering

    We do something a little bit unusual

    The natural way to select load is for sheltering is distance. That camera please

    This course as shadows to put noticeable, because there's no cross feeding between the most. When it comes to share a memory

    However

    So what we decided to do is render objects into the shadow maps

    Based on fixed distances and only one object purpose gate

    So every object rendered into cascade zero will not um

    Every object rendered into cascade, one will select a lot as if it's 25 minutes away from the camera

    Let's fix the shadow lobby

    An object is in this particular cascade, it will always use the same shadow lot

    If transition from one state to another

    This increases render course somewhat, but it's almost completely solve the problem of shadow popping. And it was definitely worth it

    And i've got a small little movie. It it goes fast. So pay attention but I also have blooming. So

    You don't have to catch it the first time around, but

    So there you go

    Ah

    So here you can see that smooth transition between

    Just get zero and one

    Another thing we did for vegetation and some other assets is um

    We separated out

    Our shuttle costs from

    So um while our visual measures are

    To absorb

    This is a north wind to begin with

    Because she can really cracked down

    A motor

    It's not animated anymore. So it it is as cheap as you can possibly

    Um

    All right. We're we're closing to a

    I enjoyed um

    To summarize

    All of you trying or utilizing if you take steps into

    Vegetation and that is the list up and down. So the the stuff that i've mentioned, the the dead prime

    The the homework up and down was a big one. Um

    Keep your shadow cast separate from your physical measures. Uh use your placement system

    Uh, one of the things that also helped us is that we could

    Which made it so

    Good at a really big one for me, a so

    I promise you slide with uh the references that you so

    And welcome everybody to with questions too

    Still

    To do so

    Sure

    Is it working? Yes. Um

    Beautiful by the way, larger room it you are a gay, I know you know my name's thomas

    I was working. Yes. I I did have a question. You didn't talk about the snow or the illusion of the weight of snow on vegetation

    How was that achieved? Because I

    Can be impressed as I was walking down the bushes with your other with the snow on Top by hitting it. So it's just kind of wondering did you go through any kind of physical simulation

    The idea to treat

    The snow started off as the snow system in the shade. Will we reach liters?

    Sort of pulled out a little bit of white stuff on Top

    But was expensive

    Where we can literally spawn in areas of heavy snow. And then uh just uh speech gave us the tools to really

    Because it is dedicated to the uh uh assets

    We knew it was so happy. So we just sort of push it down and gravity, gravity do its work. Okay

    Let's break thank you

    I'm sorry too high

    Uh, separating your shadow assets from your visual rendering assets. Do you have any problems making sure that those continue to line up? And how did you solve those

    Um, well, as soon as you separate them out, you have the ability to you you start optimizing your shadow casting, watching

    And after that, it is pretty much a just visible

    Uh thing that you need to do, uh, you know

    Everything we do with the population

    Um, so uh you you you'd be surprised how much you can get away with. I mean

    Are

    It's about doing a triangle count as a

    Then you know, within the tree was also five. It's just crashing down

    Those triangles and and while you know keep checking your work again and it will end up working

    Cheers

    Sir

    So, uh, a standard for the talk

    And about which you play sports. And I was

    Didn't really mention the tools for artists like a video out of this and

    Oh, you you iterate on your placements

    But uh okay, I I I I can talk a little bit about the placement. Uh uh uh placement system runs in our editor

    And it's a node based system where uh we combine all sorts of world data

    Uh, and what we end up with is a density map

    And it's all it's all running on gpu. And you should mention that you you just multiplying

    Natural protection agency

    Subtracting another texture. And so you know

    You you multiply the road on Top of that. So that will become black. So the the the the forest will still have a density of one

    And we learn all this stuff. And on top of

    All this other stuff

    Um, we we look at things like slope uh, proximity to water flow lines, all these things that you can um

    Uh did that you need to make it sort of work in a realistic fashion and

    We are we can bend mutant

    We have one honest and beautiful

    This process. So that those living not road, not river and dinner

    Can start painting in a forest or in an order now where an open field, they have the ability to to to pay that. Um

    Bodies. One artist defines what they gonna get when the band

    So uh I'm not sure if that answers the question is answered the question because i've seen also the classroom placement

    Technical and it's much more complex. It's on using it requires like cpu from to be processed stuff. It's like

    You you're getting really good results also

    And and it's like it's almost Free time on your side and your kind of form on the other side. What do you think the

    Is there something is missing in your technical? Is it only because it's a

    Your take on this and keep you

    I don't think room. I I thought you believed the solution will burn in games. Also on our forces were truth

    Um, something's missing for you. And what you get

    Yeah, i've i've got a wish list

    A s it's based on any data that we have financial

    Or on the outside of the forest

    A regional do a rotation based on your own culture of

    A of of the river or stuff like that. But that's wonderful because once said, and i'm requesting now that direction in a single of right now

    I'm so

    That's okay. Did you use some kind of capture

    Some kind of capital to you to make your presentation like this country

    Dinner

    That's photogrammetry

    Um

    Excuse me with more for them tree, because it was so exciting and dinner that experiment go well and living pretty wild goose that

    Do you see this like

    Your slow and takeshi next door. Um

    I was wondering on foot to you specifically have some more champagne on the sheet for both trunk and branches and

    Even like the most significant pieces of more rigid base of the tree. How do you treat game play

    For that, like the shooter branch

    Um

    Oh, no. Like I'm in an arrow like that. Am I going to collide with the branch for instance?

    Do you have a mechanical? I do that would bench newark at the conclusion is a week

    Additional trains is usually just a cylinder that represents its footprint

    Yeah, because we need to go to the next round the trees. And we need

    I see. So you're just gonna push away if it has a force field associated with. Thank you. All right, thanks

    So I'm curious about the wind force field and how

    Is that exactly? Generally great gusts of wind come from the

    Whether they come from

    And it's all mine

    Um, when I talk about a force field that it's it's it's just

    Sort of blends

    Must be is like thirty three. So we will start with four, three, or four zero to ten, and murdered

    For two zero four children for should twenty and forty eight thirty. And we blend between those

    The other young children have properties

    Math

    Hi

    But you drag on a i'm wondering about a

    It's expensive graduate having grace, getting a medic down and kept watch over and bring in

    And any other dishes invention. I think we we don't have any interaction available grass, but something we want to do. Um

    And it's again on on on a mental wish list for me

    Yeah

    Over

    But we work in contact. The grass was just using the snow into the ocean where where um

    Because the DOC we introduce a a system where you could

    And we will look into a beauty and the changes in for a lot of options. So

    So

    That's it

    Jeff

  • 相关阅读:
    【bzoj2561】最小生成树 网络流最小割
    【bzoj4407】于神之怒加强版 莫比乌斯反演+线性筛
    【bzoj4816】[Sdoi2017]数字表格 莫比乌斯反演
    【bzoj3252】攻略 贪心+DFS序+线段树
    【bzoj1690】[Usaco2007 Dec]奶牛的旅行 分数规划+Spfa
    【bzoj3291】Alice与能源计划 模拟费用流+二分图最大匹配
    【bzoj2752】[HAOI2012]高速公路(road) 线段树
    wpf--- TextBlock文字设置属性
    无边框WPF窗体——允许拖动
    C# 枚举、字符串、值的相互转换
  • 原文地址:https://www.cnblogs.com/cainiao001/p/10635721.html
Copyright © 2011-2022 走看看