Really amazing programmer

Status
Not open for further replies.

Modelworks

Lifer
Feb 22, 2007
16,240
7
76
Every once in a while you come across someone who just amazes at how well they can write code. I have found just such a person. His name is Andrew Shpagin and he develops the program 3d Coat. I noticed 3d coat when it was called 3d brush about two years ago. It wasn't all that well accepted and most people overlooked it. I read the program forums from time to time and I started to notice a trend. People would come to the forums and ask for a new feature or bug fix. Pretty common for most forums.

The difference here was that what they requested was being done. Not in a couple weeks, but in days. People would talk about a feature like CUDA gpu support and within a week it was implemented and working. Ask about a bug and it was quickly fixed. So I started to watch the program much closer. A developer that actually responds to customers, getting harder to find such a thing.

Then more and more features so I decided to read up on the company and was astonished when I learned it was ONE guy. No development team, no big budget corporate funding, just a lone programmer. This is not easy code to write either, it contains a ton of math. For example last month was release 3.1, this month 3.2. What was added in just 3 weeks :


http://www.3d-coat.com/3d-coat-32/
- Full support of Drag&Drop of files from explorer to 3D-Coat done. You can open or merge 3B files, models for painting and voxeling, create pens, assign reference images, create new layrs with texture, create materials, masks, fill fields with filenames. You can drop directly to viewport, then you will be asked how to use object or drop image/object to specific place like materials/pens/masks palette to perform action immediately without questions. Drag&drop supports dropping images not only from file explorer but from web too! For example find some image in google images and drop directly to 3DC without saving it to file!

- Materials/masks will be scaled/moved together with navigation in UV preview window in the same way as in the main viewport.

- New pen parameter introduced in "Pen opt" page - "Zero pressure radius" - relative pen radius when pen pressure is zero.

- It is possible now to export specular in PSD file and edit all specular layers in external editor.

- Displacement of all layers can be exported as a EXR file with one layer in EXR file per layer in scene. In so way displacement can be easily transferred to other mesh preserving layers.

- Possibility to save all information about layers (depth+color+specular) over some UV-set without saving mesh to be able to transfer all info from one model to other with different topology but same UV-set. In so way even DP->MV and MV->DP transfers are possible.

- Eraser is using its own selected brush, not the one selected for pen.

- Algorithm for islands padding during texture export improved.
UV Tools changes:

- Added new and majorly improved UV Editing Tools.

- Now there is a possibility to edit vertices, edges and faces of selected UV island (scaling, rotation, translation) or to edit the whole UV island (scaling, rotation, translation). Making selections is very fast and easy.
- Support of multiple UV-sets.

- Three types of displaying a mesh: no checker, simple checker, complex checker.
Voxel sculpting changes:

- New Voxel tools: muscles tool, toothpaste tool, planar tool, barelief tool, chisel tool.
Rich set of free-form primitives introduced. Examples: cube, cylinder, bezier plane, blob – all controlled by control points or transformed as a whole. Users can easily add their own primitives.
- Massive improvements in curves tool. Curves got 4 modes: extrude, move, rotate, scale to build mesh base rapidly and have very good control over the curve.
- Moving points in curve tool improved - if you will click and drag point handler will not appear but point will be moved in screen space. You can constraint movements with keys 'X', 'Y', 'Z' or using combination of them.

- New checker in curve tool - "Stick to ground" to fit curve better to the surface if need.

- New button in merge tool - Make mesh closed. It is important if you want to merge unclosed mesh.

- Voxel volumes intersections using CTRL+SHIFT everywhere - while merging model, dragging layers.

- Universal shader was constructed to simplify constructing complex shaders with cavity, bump, environment map, diffuse and specular.

- New major feature! There is a possibility to reduce polycount in voxel scene during export. It is very helpful for printing, exporting just for render, exporting objects to be curve profiles, exporting for game-engines for static objects.

- Extrude-based voxel tools (increase, airbrush, etc) got good extension in rectangular selection mode – they extrude surface on the depth value.

- New button in transform tool - Center in local space.

- Possibility to export curves directly from Curve tool as polygonal object to be easily used in other applications.

- Surface Flatten brush improved - got several parameters: Smoothness, Normals sampling, Don't lift edges. Smoothness allows to control hardness of edges, Normals sampling - variate radius to calculate average normals. Don't lift edges allows to avoid (if need) lifting of edges at the outer boundary of the brush.

- Every volume will be merged to the separate layer while merging from voxels to per-pixel. It gives much better control over baked color.



Retopology changes:

- Topology cleanup improved.

- Separate quadrangulated objects will be merged as separate retopo layers.

- All operations in retopo tool will not destroy existing UV-set.

- Relax command added.

- Two tools in "Select" mode have been added. The first gives possibility to select sharp edges, the second gives possibility to make bevel on selected edges. In current implementation bevel will not preserve UV-set.



Other improvements:

- Multi-autosave done - you can specify amount of autosave files to store history of your work.

- Countless bug fixes and tools improvements!

- Render room was essentially improved - realtime render on the fly while tweaking render params + multiple colored light sources.

Not only does he bug fix, but adds entire new features. And has been doing this with every release. I don't think the guy sleeps. He does have prior experience , he was the programmer on cossacks. I just had to tell others about this guy.

http://www.3d-coat.com/company/about-us/
 

chronodekar

Senior member
Nov 2, 2008
721
1
0
Lone programmer or not, the fact that updates keep coming up is not something you hear often. :thumbsup:

-chronodekar
 

Titan

Golden Member
Oct 15, 1999
1,819
0
0
It's a lot easier when you're only one programmer to have total responsibility for your app. Personal ownership goes a long way to productivity. He probably knows every line of the code and slaving over it makes it that much better.

Yeah looks like another guy does the graphics engine, but you can modularize things like that. Good practice to.
 

Kirby

Lifer
Apr 10, 2006
12,028
2
0
Russian? I'm pretty sure a steady diet of vodka and borscht has something to do with it.
 

Colt45

Lifer
Apr 18, 2001
19,720
1
0
Russians are the pwnest programmers.

I think it was something to do with being stuck on PDP clones, past expiry.
 

Modelworks

Lifer
Feb 22, 2007
16,240
7
76
I think it's more than one guy. :|

Andrew created the complete application including the graphics engine and still does most of the work for the windows version. He didn't have much experience with the linux/Mac world and people were asking about a port so he found someone willing to do it. Then they improved the engine so it would easily port between the different platforms.

I guess that is another amazing thing about the program, it not only is updated often but across three platforms. I installed the linux version the other day and expected to have to jump through hoops to get it to work. Most graphics linux apps like this have to be set up with lots of little changes to the system. I had a fresh install of ubuntu and download the linux version of 3dcoat. I extracted it and clicked the binary and it just ran, and ran well no configuration was needed. OpenGL hardware worked great . I was really surprised.


Andrew has had a hard life, not surprising considering where he lived, he talks about a lot of it often. I hadn't read it since he updated it, but now I see where the math skills come from in programming, it is just something he has a knack for.

He also made a very bold decision and caught a bunch of bad PR from users. Andrew is a Christian and he makes that VERY clear in the about of the 3dcoat program. I doubt anyone has ever read an about item in a program like it. Basically he describes his belief and ask that nobody use the program to make content that would be harmful to another person.

If you are a programmer having doubts whether you can make it read his blog. If he can do it with everything he had against him, I think anyone can.

Some info from his blog about how he got started, the entire thing is 7 pages long.
http://www.3d-coat.com/testimony/testimony_1.html
I was born in Ukraine in Mariupol city in 1975, in period of the Soviet Union. I had very various intereststs in my childhood. A couple of years I was interested in Biology, I even reared different animals at home. But in the age of 12 I took a great interest in Physics. I was very interested in the world structure and it's origin. I took part in different physics contests pretty successful. I was also interested in math. In the age of 14 I wrote a small research about the solution of differential equations. In general I was interested in everything that was logical, everything that slightly opened a curtain of mystery over how everything was organized. I almost didn't attend school in my last years, I had an individual schedule. I entered university on a physical faculty without any exams. I was interested in programming since my childhood. During my last years of school I was usually sitting at my mom's work and programed. At that time the most cool processor was 8086. When I was on my first year of University I wrote a valid debugger on Assembler. That was my first really big program.


After my fifth year of University I decided that I would be a programmer and not a physicist. Though I'm still interesting in physics, especially I'm concerned with a question about the boundary between quantum and classical physics, because this question remains to be open till now.

I became a programmer. I worked in a very small company for a short period of time. That company made russian translations of different games. I was supposed to define a data format in which games' texts and fonts were stored. In that time it was quite legal in Ukraine, though it was clear that my employers were engaged in piracy. In our times piracy and infringement of copyright concideres as a grave crime, but thenadays no one cared about that. I felt myself uncomfortable on that job, so I left as soon as I could. That company folded up soon.

Getting a new job was very easy and unusual. My future boss saked me if I could make a game like Warcraft II in 8 months term? I said «yes» with confidence. He asked me about salary I would like to have. I told him (that was rather large sum of money for that time). He agreed and told me to bring a game demo in a month. So in a month I brought the demo; he looked, amazed, and that is how we started to work together. At that time I wasn't an expert in C++. I had been programming on Assembler and Pascal, so I had to learn C++ at the same time. When the game was on it's closing stage I moved to the company's office for I'd been working at home.

Soon after that another important question appeared before me. Taxes! For people from the West that question might seem to be strange, for it is obvious that taxes are to be paid. But... then it was not a simple question. At that time there was a chaos in our country. A lot of small companies were chaotically created and broken up. In most cases paying taxes considered to be something immoral because country was ruled by criminals. Once some people with weapons broke in to the company I worked in, they put everybody on the floor and took away all money from the safe. They pretended as they were from the organized crime struggle department. They asked about drugs in order to «keep the propriety», but it was obvious that everthing they wanted was money and maybe something else. Taxes were too big, so intrinsically all small companies were criminals. And desicion about whom to punish and whom not to punish was being made by the corrupted system. Such were the customs of that times. So people didn't pay taxes if they could escape of it.
 
Sep 29, 2004
18,656
67
91
There are alot of pgroams written as front end to emulators which provide awesome support like this.

By front end, mean a single GUI that can be used to luanch many different emualtors.
 

wwswimming

Banned
Jan 21, 2006
3,695
1
0
is 3D coat sort of like ZBrush ? between the sculpting & the poly-painting, it seems like it.

and since Pixologic (maker of ZBrush) is a company of, i guess, about 100 people, yeah that is impressive.
 

Modelworks

Lifer
Feb 22, 2007
16,240
7
76
is 3D coat sort of like ZBrush ? between the sculpting & the poly-painting, it seems like it.

and since Pixologic (maker of ZBrush) is a company of, i guess, about 100 people, yeah that is impressive.

Yeah 3d coat is a lot like zbrush. The difference is while zbrush is based more on polygons underneath , 3d coat has voxels. You can basically sculpt like clay in 3dcoat without worry of the mesh layout or if you have enough polygons in an area for the details. If you want to add a finger, just add it . It also uses CUDA on the gpu to do the math and has 64 bit support for memory so it can be much faster than zbrush.

Just days after the 3.21 release:
First version of Ptex implemented. Supports export/import in standard formats, ptex files export/import is not supported
- possibility to change local resolution with Ptex.
- support of big 3B files to open (>4GB)
- Normalmap strength in per-pixel mode can be corrected with Depth modulator slider in layer blending panel
Linux version uploaded too

Ptex isn't something you just add to an app , it is very complex. Someone asked about it a little over a week ago and now it is in the program. The guy needs a vacation.


ptex:
http://ptex.us/
 

wwswimming

Banned
Jan 21, 2006
3,695
1
0
sounds good. i hope the guy gets rewarded but doesn't sell the program to Pixologic or Autodesk (companies that might discontinue it in favor of their competing product).
 

Goosemaster

Lifer
Apr 10, 2001
48,775
3
81
Nice try, Andrew Shpagin.

---------------------
YHPM

Common Courtesy
AT Admin
 
Last edited by a moderator:
Status
Not open for further replies.
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |