Home Technical Talk

Blender Mega Thread

12829313334139

Replies

  • Dataday
    Options
    Offline / Send Message
    Dataday polycounter lvl 8
    A large part of it is getting the word out, sharing it with your friends and or posting on face book.
  • Ben Apuna
    Options
    Offline / Send Message
    I couldn't afford much, but donated anyway. I suppose every little bit counts. I wonder if we can get this on the front page of Polycount?
  • Bloodwork
    Options
    Offline / Send Message
    75% of funding reached!
  • Michael Knubben
    Options
    Offline / Send Message
    WarrenM wrote: »
    Are they incapable of using Google? Not to get pissy but I imagine that "3dsmax smoothing groups" would generate a lot of useful information for them complete with screen shots, videos, examples, etc.

    The problem with googling '3dsmax smoothing groups' is that, for all intents and purposes, Blender has them. Like Maya, it has hard edges, which serve exactly the same purpose (although Blender needs a modifier to display them, which I don't love).

    What people are (sometimes poorly) asking for is for perfect import/export of these so they carry across to other programs, rather than physically splitting the vertices. It's not specifically to do with game engines, as it works quite well for that purpose - it's to integrate Blender into a multi-program workflow (or team) so you don't need to redo work.

    Another issue that gets brought up at the same time (and in this thread as well) is the way blender resets vertex normals every time you switch between object and edit mode, making manual adjustments and the scripts that allow them resort to hacks to bypass this behaviour.

    I believe both issues were recently mentioned by someone from the Blender Foundating, saying that they're being looked into.
  • kat
    Options
    Offline / Send Message
    kat polycounter lvl 17
    Max Smooth Groups are more akin to weight-painting than just hard/soft edges - this is one of the reasons smoothing can be 'shared' across more than one 'group', something you can't do with Blenders implementation of edge marking (and why it's a complicated mess to implement in Blender using their current system). In addition, (and again iirc) Max doesn't store 'Smoothing' info at the vertex, it's done at the 'Face' level which facilitates this sharing.

    http://docs.autodesk.com/3DSMAX/16/ENU/3ds-Max-SDK-Programmer-Guide/cpp_ref/class_face.html

    http://docs.autodesk.com/3DSMAX/16/ENU/3ds-Max-SDK-Programmer-Guide/cpp_ref/group___mesh_vertex_face_flags.html
    DWORD smGroup
    Search for all occurrences

    Smoothing group bits for the face.

    Each bit of this 32 bit value represents membership in a smoothing group. The least significant bit represents smoothing group #1 while the most significant bit represents group #32. If two adjacent faces are assigned the same smoothing group bit, the edge between them is rendered smoothly.
    http://docs.autodesk.com/3DSMAX/16/ENU/3ds-Max-SDK-Programmer-Guide/cpp_ref/class_face.html#a81ac1e987efc33b66f6d52e1a525bbd1

    http://docs.autodesk.com/3DSMAX/16/ENU/3ds-Max-SDK-Programmer-Guide/cpp_ref/class_face_smooth.html

    The Developers API is available for investigation, and researching this in just 30 minutes reveals a number of engines and projects which are capable of specifically supporting Max-style Smooth-Groups; the information IS out there and (certainly now) freely available (this is notwithstanding it being presented (or offered to be) many times before).
  • Dataday
    Options
    Offline / Send Message
    Dataday polycounter lvl 8
    Right now they are talking about this thread on the Blender Artist forum and some are bringing into question the threads title. Perhaps there is a point that maybe its not trying hard to compete right now, but that it is in fact competing. Getting projects like this funded would probably get a boost if a thread title didnt have a bit of a negative connotation associated with it. Perhaps its time for the title of the thread to change, since its become the de-facto blender thread on Polycount.
  • James Ordner
  • PolyHertz
    Options
    Offline / Send Message
    PolyHertz polycount lvl 666
    From a game-artist perspective, is it really competing yet though? Other then indies, what game studios have it in their pipeline atp?
  • kat
    Options
    Offline / Send Message
    kat polycounter lvl 17
    None (at present)... and pretty much for the reasons mentioned/discussed in this topic.
  • Kwramm
    Options
    Offline / Send Message
    Kwramm interpolator
    PolyHertz wrote: »
    From a game-artist perspective, is it really competing yet though? Other then indies, what game studios have it in their pipeline atp?

    I'd love to see some good indie pipelines developed around blender. I don't think it's there for the AAA titles (and not in a long time), but I'd love to see it getting a foothold, and then maybe move up.
  • Dataday
    Options
    Offline / Send Message
    Dataday polycounter lvl 8
    PolyHertz wrote: »
    From a game-artist perspective, is it really competing yet though? Other then indies, what game studios have it in their pipeline atp?

    There are two cases I can think of at the top of my head, usually seen in behind the scenes footage. Egosoft has one artist using it for ship building in their upcoming game Xrebirth. Valve's source film maker shows Blender being used in their promo vid.

    Granted... its true that its not competing head on in the AAA pipeline, but still finds its way into the hands of mod teams, indie studios and for the creation of individual assets. Even one of the winners of a cg society competition awhile back used Blender to create the winning piece. What about on an individual artist basis as opposed to a larger shared pipeline?

    So the question is then what is the requirements for competition status? Is Maya trying really hard to compete with Maya's LT in regards to the indie market?
  • Kwramm
    Options
    Offline / Send Message
    Kwramm interpolator
    I've seen modo too used by individual artists...or Silo. But for me I'll start taking things serious when they are in a pipeline. This means, artists are expected at a studio to work with this software. The studios default file interchange format is that of the chosen application (e.g. Blender). In house tools are developed primarily for the chosen application. Training focuses on the chosen application. When hiring people tell candidates "we expect you to learn <chosen application>". I'm not sure yet if Blender arrived at this stage at any studio yet, but I'd love to finally see an example.

    Although I would also consider partial use a success (because I used to work in a mixed Maya/Lightwave job) - e.g. XY's character department uses Blender. ABC's animation dept uses Blender, etc. The criteria is that it is used team wide as the main application to get work done.

    Another criteria would be that the use is commercial. Not hobbyists. Because if it's commercial this means it managed to convince the stakeholders who control funding. Because this is another step of convincing any tool has to do.
  • kat
    Options
    Offline / Send Message
    kat polycounter lvl 17
    Although there are isolated examples, generally speaking Blender isn't used from start to finish in a pipeline; it's more likely to be found augmenting a process rather than replacing it outright; UVW mapping and animation for example. Beyond that it's not reliable enough because users are still having to do a lot more fiddling around to produce the results they need 'out of the box' compared to industry standard (accepted) applications, which has far more sway with purse string holders - it's not about short-term savings but long term cost reductions, using a free app doesn't necessarily equate to the latter if far more wo/man hours are spent using it.
  • Kwramm
    Options
    Offline / Send Message
    Kwramm interpolator
    kat wrote: »
    it's not about short-term savings but long term cost reductions, using a free app doesn't necessarily equate to the latter if far more wo/man hours are spent using it.

    exactly! Once Blender breaks through this barrier I think it has a real chance. But this barrier may be different from project to project/studio to studio. Personally I would expect this to happen in smaller productions for e.g. mobile first. Baby steps :)
  • Entity
    Options
    Offline / Send Message
    Entity polycounter lvl 18
    Blender is extremely popular here in Malaysia. A lot of smaller companies that can't afford Maya (exchange rates are crazy, 12k for a Maya license) are turning to Blender.
  • Bloodwork
  • Stromberg90
    Options
    Offline / Send Message
    Stromberg90 polycounter lvl 11
    That's great, will be following his blog :)
  • Michael Knubben
    Options
    Offline / Send Message
    Kat: I'm a longtime user of Max, and I've not once missed smoothing groups when made to use other software (Maya, Modo etc.), I feel hard edges are just superior when it comes to ease of use and clarity.
  • Visum
    Options
    Offline / Send Message
    Visum polycounter lvl 7
    I first tried Blender about 3 years ago and to be honest it just didn't feel "right" at all. I guess that initial impression still rides as I'm reluctant to give it a go again.
    Maybe I'll try once I find some spare time but like somebody wrote here earlier that Blender name just rides on that initial wave of opinions and only hurts it in the end.
    I might be very wrong, still that's what I hear around not just only my opinion.
  • hexflow
    Options
    Offline / Send Message
    hexflow polycounter lvl 4
    Blender always seems like Linux. Sure it gets the job done and works for almost everything but it just always seems off by just a smudge and always seems like I have to lurk through countless forum posts to find a "work around" to get something to work as expected.

    It is free and keeps getting better and easier to get stuff done with. It is very much on the cusp.
  • SHEPEIRO
    Options
    Offline / Send Message
    SHEPEIRO polycounter lvl 17
    MightyPea wrote: »
    Kat: I'm a longtime user of Max, and I've not once missed smoothing groups when made to use other software (Maya, Modo etc.), I feel hard edges are just superior when it comes to ease of use and clarity.

    QTF.... i have exactly the same thoughts/experience and can speak for a a fair few colleagues that think the same... currently work in max and would preffer to use soft/hardedges.... never experienced ANY advantage of smoothing groups just the dissadvantages
  • passerby
    Options
    Offline / Send Message
    passerby polycounter lvl 12
    SHEPEIRO wrote: »
    QTF.... i have exactly the same thoughts/experience and can speak for a a fair few colleagues that think the same... currently work in max and would preffer to use soft/hardedges.... never experienced ANY advantage of smoothing groups just the dissadvantages

    It's just how max users describe the feature of spilt normals, but agree max has a terrible work flow for this, they way maya handles it is way better.

    Once it is implemented in blender though than we can worry about the best work flow for this feature.
  • Dataday
    Options
    Offline / Send Message
    Dataday polycounter lvl 8
    Visum wrote: »
    I first tried Blender about 3 years ago and to be honest it just didn't feel "right" at all. I guess that initial impression still rides as I'm reluctant to give it a go again.
    Maybe I'll try once I find some spare time but like somebody wrote here earlier that Blender name just rides on that initial wave of opinions and only hurts it in the end.
    I might be very wrong, still that's what I hear around not just only my opinion.

    I here ya, I felt the same until not all that long ago. Somewhere around 2.63 everything changed, I found a user created a Maya keymap and had a context sensitive menu addon, mixed with Bmesh implementation and suddenly Blender became a very usable piece of software. The improvements since then have been great.

    There is actually a thread on the Blender Artist forums regarding blender's baggage (negative image from years past) and how to change people's perception of the software. I highly recommend giving it a go again. The current version is 2.68, and with 2.7 probably a few months away, the direction of Blender is going to make a pretty big shift.

    You can also see them working on the new website (under development) as a means to improve Blender's past image: http://staging.blender.org/
  • Justin Meisse
    Options
    Offline / Send Message
    Justin Meisse polycounter lvl 18
    passerby wrote: »
    It's just how max users describe the feature of spilt normals, but agree max has a terrible work flow for this, they way maya handles it is way better.

    Once it is implemented in blender though than we can worry about the best work flow for this feature.

    AFAIK there are scripts that can replicate the Maya method in Max. I have a background in both and I've come to prefer the Max method, selection by angle & autosmooth functions pretty much do it all for me.

    Now I thought the issue wasn't how Blender implements it inside the program but that it doesn't export them. Who cares if you select an edge or a face to make hard edges.
  • kat
    Options
    Offline / Send Message
    kat polycounter lvl 17
    MightyPea wrote: »
    Kat: I'm a longtime user of Max, and I've not once missed smoothing groups when made to use other software (Maya, Modo etc.), I feel hard edges are just superior when it comes to ease of use and clarity.
    I'm not arguing or advocating one approach over the other (you use what best suites the way you work), just pointing out a core difference and linking to documents that might clarify that.
  • passerby
    Options
    Offline / Send Message
    passerby polycounter lvl 12
    AFAIK there are scripts that can replicate the Maya method in Max. I have a background in both and I've come to prefer the Max method, selection by angle & autosmooth functions pretty much do it all for me.

    Now I thought the issue wasn't how Blender implements it inside the program but that it doesn't export them. Who cares if you select an edge or a face to make hard edges.

    the problem is that blender dosnt support spilt normals or vertex normal editing at all, I was saying once that feature is there at the core it should be easy for tools to be made to support all the differnt workflows for editing normals and setting hard edges.
  • Dataday
    Options
    Offline / Send Message
    Dataday polycounter lvl 8
    Progress report on the project by mont29:
    Latest

    Export Sharp Edges as Vertex Normals – Day 1

    Hi folks,
    Well, did not do as much as I’d expected today, mainly because most of my prog time was eaten by a very closely related topic – those *£@#ǫ;]§ smooth groups! icon_razz.gif?m=1129645325g
    Looks like 3DS Max expects those to be bitflags values, and not simple incremental values (OBJ specifications say nothing here, so it’s more a bug from that OBJ importer than one from Blender exporter, but anyway…). Turned out to be a bit tricky, as with only 32 possible group IDs, we have to reuse them as much as possible, yet not having two adjacent smooth groups with the same bit used! Similar to the famous “four colors theorem” – current implementation tends to use five groups instead of four, though. icon_wink.gif?m=1129645325g
    Anyway, OBJ exporter now has both options (simple groups IDs or bitflags ones), back to the topic. Started writing the core function, most likely tomorrow it will be finished & working!
  • frmdbl
    Options
    Offline / Send Message
    frmdbl polycounter
  • Michael Knubben
    Options
    Offline / Send Message
    Another issue that remains for video game artists (and others, I imagine) is PSD support. It was taken out about a year or so ago, when they switched to a different image library. For a while someone on graphicall.org had a version that used Quicktime to support loading and displaying PSD's, but newer versions of his builds haven't retained that.

    I would pay for a (sustainable) solution to this problem, as being able to skip the step of exporting to TGA or PNG is wonderful, certainly when working with engines (unity) that easily load and update textures straight from your PSD work-file.
  • PolyHertz
    Options
    Offline / Send Message
    PolyHertz polycount lvl 666
    Yes, lack of PSD support is a significant issue. OpenRaster is probably the closest other format to it, but Blender doesn't support that either.

    I'm hoping that during next years GSOC someone will work on a proper layers implementation for the paint tools (the current layers plugin doesn't even let you merge them), and PSD support will be implemented as a consequence of that.
  • Michael Knubben
    Options
    Offline / Send Message
    I'd really like PSD-support before then though, especially when you consider that GSOC projects can take more than a year to fully find their way into an official Blender build.
    Openraster would be a nice extra, but given how few image editors use it (Gimp, MyPaint, Krita) and the fact that the commercial ones will most likely never support it, I'd say PSD's are much more important for us.

    At the moment I use the Graphicall build I mentioned while texturing or to open finished models, and a more recent build for other stuff (I do the simplest models in Blender, unwrapping, some light rigging...).
  • metalliandy
    Options
    Offline / Send Message
    metalliandy interpolator
    Didn't they remove PSD support because it was decided that Quicktime wasn't GPL compatible?
    They could use something like DevIL which has basic PSD support with no problems as it is LGPL.

    Maybe someone could suggest that?
  • kat
    Options
    Offline / Send Message
    kat polycounter lvl 17
    Not sure that would necessarily solve the problem, Adobe and Apple are both quite aggressive in protecting their properties so *how* they are included isn't as important an issue as making sure doing so complies with whatever Rights the aforementioned might claim.
  • metalliandy
    Options
    Offline / Send Message
    metalliandy interpolator
    kat wrote: »
    Not sure that would necessarily solve the problem, Adobe and Apple are both quite aggressive in protecting their properties so *how* they are included isn't as important an issue as making sure doing so complies with whatever Rights the aforementioned might claim.

    They didn't have a problem with having PSD in Blender apart from the Quicktime license, so I don't think it would be a problem really.
    DevIL is a LPGL library that supports PSD but not one that Adobe/Apple can have any sway over. I guess It's the same sort of situation where the BF can reverse engineer FBX and Autodesk cant really do anything about it because they are not using the libs directly supplied by them.
  • kat
    Options
    Offline / Send Message
    kat polycounter lvl 17
    PSD is a "Closed Proprietary Format" (see here also for an interesting read). It's also undocumented which means using reverse engineered materials *could* inculcate the user. That's why both were pulled - there wasn't (isn't) a GPL compatible way to include the formats without some licencing agreement with Adobe/Apple; third party libs don't solve that fundamental issue because they still make use of propitiatory tech in order to function.
  • Dataday
    Options
    Offline / Send Message
    Dataday polycounter lvl 8
    Krita imports and exports PSD files...pretty sure thats GPL as well. There has to be some way around it.
  • kat
    Options
    Offline / Send Message
    kat polycounter lvl 17
    That's the point... absent an agreement with the rights holder, distributing anything containing their material *might* constitute an infringement. Whilst technically there may be ways to include the desired formats, when it comes to the distribution of third party protected materials; you have to do it correctly or not at all (particularly if you want to be taken seriously).
  • metalliandy
    Options
    Offline / Send Message
    metalliandy interpolator
    Well there has to be something that can be done because even GIMP supports PSD file for both I/O and they are a major GNU player.

    Also, PSD is documented too :)
    http://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
  • Michael Knubben
    Options
    Offline / Send Message
    I understand that, but with libraries it's very much a case of 'if you disagree with our inclusion of the format, take it up with the library provider', don't you think?

    The removal of psd support was a major step back, and I'd love to get it back, even if I'd only be able to get it in unofficial builds (I rarely run official builds anyway).

    Much like hard edge export though, I'm afraid not much will happen unless we can band together and get noticed.
  • kat
    Options
    Offline / Send Message
    kat polycounter lvl 17
    @ metalliandy: Good catch, I couldn't find that for some reason. However, note the important caveat at the end of the very first paragraph - "software... subject to licence".

    With regards to GIMP, there is some active and current controversy over that applications use of PSD, the article linked in my previous comment (and it's not the only one in the OSS movement discussing this issue) highlights a number of problems with respect to OSS and their use/inclusion of copyright and patent protected materials.

    I'm not poo-pooing inclusion of the two formats, rather trying to point out the issue might be a little bit more complicated than adding one image lib over another... in other words this sort of problem likely needs a legal not technical solution. Only BF (and their legal team/representatives) can really address that.
  • Ben Apuna
    Options
    Offline / Send Message
    If directly supporting PSD in Blender is causing licensing issues, then do it the other way around, support Blender from within Photoshop (and GIMP etc...).

    Make a pair of plugins for Blender and Photoshop to transfer raw image data (pixels, layers, adjustment layers, blending modes, etc...) back and forth with Blender. Sort of like how the Zbrush GoZ plugin enables data transfer between other 3d apps.

    Just save your PSDs in Photoshop when you're finished editing.
  • Kwramm
    Options
    Offline / Send Message
    Kwramm interpolator
    Is TIFF support there? Supports layers too and much of, at least CS2's, PSD features seem to be saved just fine.
  • Dataday
    Options
    Offline / Send Message
    Dataday polycounter lvl 8
    Small update for those interested:

    Hard/Smooth edges:
    Mont29 has continued to make progress on hard and smooth edges within blender for export:
    Export Sharp Edges as Vertex Normals – Day 4

    Spent a few hours on polishing the core code – removed some unused elements, gaining a few CPU cycles and over all, reducing temp edge data from 80 bytes to 48 bytes per edge (on 64 systems)! Also made some more tests, everything still successful. icon_smile.gif?m=1129645325g
    Also reworked the API… Still very basic, but less nasty than first version imho. Now waiting feedback from Cambpell about it (issue here is that we have too much ways to do it, need some advices about the best one!).
    Current patches: core and obj exporter.
    So I’d say the core goal of the project is now done (remaining bits – FBX export & adding split angle threshold – are trivial). If current API is validated, will try to get that reviewed asap, and then will see about adding 3D View visualization…
    WASD(FPS Controls) Navigation Mode:
    Addon creator Palejed has created a small plugin allowing users to enter first person fly mode. This is a control scheme that mirrors UDK to some extent, it allows movement in WASD with up and down being tied to the space bar and C. Holding down the right mouse button will allow mouse look.
    It is still in development but can be used in its current version here: http://www.ewocprojects.be/fpsfly.html

    The code is also being reviewed on github for official blender implementation, which would result in a more polished implementation of the navigation mode.



    Volumetrics and Lighting:

    Progress being made for volumetric renders within cycles.
    Straight from the developer IRC channel.


    1z22p.png
    28junlw.png

    Tool shelf:
    The google summer of code project has made some progress. Tool shelf allows users to create their own shelf in which to place their most commonly used functions and operators. Could potentially lead to creating and calling upon user created scripts.
    The developer needs people to create icons: BA thread for submissions here.

    333wif8.png
  • PolyHertz
    Options
    Offline / Send Message
    PolyHertz polycount lvl 666
    For the tool shelf, even Maya doesn't have icons for everything, that's why you give the user the ability to create abbreviated text on iconless buttons. If it has that ability then they should just get it in trunk and worry about adding more icons afterwords.
  • Dataday
    Options
    Offline / Send Message
    Dataday polycounter lvl 8
    PolyHertz wrote: »
    For the tool shelf, even Maya doesn't have icons for everything, that's why you give the user the ability to create abbreviated text on iconless buttons. If it has that ability then they should just get it in trunk and worry about adding more icons afterwords.

    I agree, but from what I am reading it seems that the executive decision was made to not have text buttons in the menu. If they can get icons for at least the basics, it will be a good start.
  • PolyHertz
    Options
    Offline / Send Message
    PolyHertz polycount lvl 666
    That's completely fine for the defaults, but for custom menus why not give people the option to use both?
  • Dataday
    Options
    Offline / Send Message
    Dataday polycounter lvl 8
    PolyHertz wrote: »
    That's completely fine for the defaults, but for custom menus why not give people the option to use both?

    It may end up being that way..eventually. Pretty sure with python one might be able to add their own...I know you can make your own drop down menu with internal script editor. I think they didnt want text buttons for the tool shelf, at least at this point, because the tool panel on the left can already accept text buttons in the form of addons, that and to make it fit within the scope of the project.

    I guess the only thing one can say is baby steps. Its a google summer of code project so what they do is limited within that projects time frame. Anything after that will probably have to be picked up by the blender foundation's core developers.
  • passerby
    Options
    Offline / Send Message
    passerby polycounter lvl 12
    just handel it the way Maya does, overlay text on the icon, that appears if there is a icon or not. let's you label things if there is no icon or you could find a icon that kinda fits the action and overlay something on it.

    @dataday
    not everyone knows python like you and I so a interface or click and drag will be needed.
  • Dataday
    Options
    Offline / Send Message
    Dataday polycounter lvl 8
    passerby wrote: »
    @dataday
    not everyone knows python like you and I so a interface or click and drag will be needed.

    I agree, ultimately the end user has to be kept in mind. Ease of use and functionality should be pushed at all times. This is just a first step I believe for 2.7+, which according to the road map proposal is a huge boon to game artist and those wishing the UI were better designed and or more polished. Ton seemed to hold off the UI stuff for 2.7 in other words, which can be seen as the next big 2.5 like change that helped make blender more user friendly.

    Things to look forward to in 2.7x:
    For 2.7x projects we will allow forward and (minor) backward compatibility breakage. That means that by default, the 2.7x .blend files don’t have to read reliably in 2.6x or older. Backward compatibility stays crucial though, and should only be acceptable for big and important improvements. Changes can also be including a revision of UI layouts, naming of options, themes, and shortcut defaults.
    However, for as long as we add breakage in Blender 2.7x versions, we could also try to keep the last 2.69 release updated with essential fixes.


    This is also the perfect period to move to git(github) for Blender coding.
    A summary of projects or targets that fit this period:
    • Move to OpenGL 2.1 minimal (means: UI/tools can be designed needing it, like offscreen drawing)
    • Depsgraph refactor, including threaded updates
    • Fix our duplicator system, animation proxy (for local parts of linked/referenced data)
    • Redesign 3D viewport drawing (full cleanup of space_view3d module)
    • Work on cpu-based selection code for viewport
    • Sequencer rewrite
    • Asset manager, better UI and tools for handling linkage
    • Python “Custom Editor” api (including better Python support for event handlers, notifiers).
    • UI: refresh our default




    Update:
    Latest From Mont29's smooth and sharp edges:

    Export Sharp Edges as Vertex Normals – Day 5

    So, API is validated! However, Campbell gave me some hints to improve core code, which now only uses 24 bytes per edge (plus 4 bytes per loop), and runs twice as fast as previous version. Compared to first patch, current one is about four times faster and eats about three times less memory… that was worth a few more hours of work! icon_wink.gif?m=1129645325g




  • NinthJake
    Options
    Offline / Send Message
    Regarding PSD support in Blender. I might just have misunderstood it but wasn't PSD dropped in favor of Multilayered EXR? I know it probably has something to do with the licensing issues (like almost everything else in Blender) but I vaguely remember a developer talk about the advantages of multilayered EXR over the PSD format.

    I would still prefer to have PSD support as well in Blender though.
12829313334139
Sign In or Register to comment.