Products | Features | SalesWhat's New | Download | Support | TutorialsNewsletterDOTMAbout - Home

Project Dogwaffle v17:

PD Howler & PD Artist 2024

Fast Digital Painting, 3D landscape Rendering and tools for Video  & Animation

 this is: Howler 2024  / 2023 / 2022 / Earlier versions / What's PD Howler?

As of now, this is the latest and greatest of Project Dogwaffle

  Images & Videos       Free       Buy      NewsNew!      PBRHot! 

 Testimonials       Newsletters New!      Checksums      Docs+Help+Tuts  


We have released PD Howler 2024 here at - you can also order it from the developer Dan Ritchie directly, he's the author of Project Dogwaffle at

What's recently been added? What's new in Howler 2024? (as of April 29th 2023)


PD Howler? PD Artist?

Howler vs. Artist - what's the Difference between the two?

PD Particles?

Do you have an older computer or tablet PC and are interested in something simpler?


Images & Videos

What's New: Tools for painting, Image Editing, Coloring...

What's New:  3D objects from Wavefront OBJ files, rendered into image, animation or custom anim brushes

Fantasy Art - bringing 3D together with images and painting

Got a 3D model in OBJ format? Render it here, then composite it into painted or rendered landscapes and other scenes, even animations.

Satellite created in
          sloydNASA vehicle on Marsspooky
          space station interior

The Sky system:

Earlier animations with Sky filter:

Some cool screenshots from earlier releases, just because they're still relevant

Howler is a paint program.

                03Light moderising sun animation (rendering in progress)

back to the top                     

Below are some of the new features coming to PD Howler 2022:

Reminder: What was new in the prior releases?

ecent: Howler 2023 (v16)
| Earlier:  Howler 2022(v15) | 2021(v14) | 2020(v13) | 2019(v12) | v11 | v10 |


Captain's Log - The Latest Developments, the News:

What's New in PD Howler 2024?

Jan 15 - Build 91
Adding GPU support for new Worley noise filter

Jan 14 - Build 90
Improvements in Worley noise filter, some new options

Jan 11 - build 89
- Added a close box to the noise tool for users that have a high DPI or low resolution setting and don't see the ok box at the bottom.
- It can also be used to reset all settings in the panel.

Jan 10 - build 88
- The geometry renderer now shows the materials by their names
- fixed some issues with property editing

Dec 30 -

The geometry renderer now allows tweaking of surface parameters including:

Dec 24 -   Christmas eve.

Dec 20 - Build #81

Dec sometime

Sep 20

Aug 31

Aug 28
Aug 26

Aug 20

Aug 17

Aug 13

Aug 1st - build 67

The New 3D Engine Is Here!

New Howler 2024 build #67

What's new:
  • PBR: rendering with physics based materials
  • Up to 9 times faster
  • Adjustable antialiasing for preview and final renders of up to 16(!) samples
  • Tone mapping
  • Gamma correction
  • CPUGPU acceleration
  • Interactive without a low-res preview

The first feature to use the new rendering engine is the Render/Render Geometry filter.  Expect huge performance gains and much higher quality and better looking images. 
If you like these updates, keep in mind we're real people and we need to eat.  Send us a pizza.

Howler 2022 is now a free download!

You read it right.  Howler 2022 full version is a free download, maybe for a limited time.  We haven't really decided, but for now, you and your friends and your dog can get Howler for free.
Howler download page (at

3D Development Continues: Welcome to the Road to PBR!

New 64-bit 3D PBR rendering

In addition to standard materials, the new viewer supports:


The new renderer is an instance-based bucket rasterizer designed to keep as many CPU cores fully saturated as possible before passing final shading off to the GPU.  The rasterizer splits and sorts triangles into screen buckets and renders them each on their own thread.

From there, texturing is completed and everything is passed to the GPU for GGX based shading, which is much more realistic and physically based than standard Lambert shading.  Future versions could move shading onto the GPU to take advantage of shader units, but having our own software shader is forward looking...

We're looking at this with an eye toward the future... raytracing, pathtracing, and all that...  That's why we're taking our time and doing it right from the ground up.

If that all sounds good to you, remember that we are doing most of this without a paycheck. We REALLY only do this because we love it.  There is something you can do, though.  You can let others know about us.  Or you can buy one or more of our tutorials on TheBest3D, or just send us some pizza money.


         Ka; //ambient
      Kd; //diffuse
      Ks; //specular
      Ke; //emissive
      Tr;  //transparency
      Ns; //shininess
      Ni;  //Optical density

      //these are the PBR attributes
      Ao;  //Ambient occlusion
      Pr;  //roughness
      Pm;  //metallic
      Pc;  //clearcoat
      Pcr;  //clearcoat roughness
      Kn;  //scaler for normal map (might also work with bump)
      Norm;  //normal map

      //these are the maps
      Bump;        //bump
      map_Kd;    //diffuse
      map_Ks;    //specular
      map_Ns;    //shininess
      map_Tr;     //transparency
      map_Ao;     //ambient occlusion
      map_Ni;      //optical density (ior)
      map_Ke;      //emissive
      map_Pr;       //roughness
      map_Pm;     //Metallic
      map_Pc;      //clearcoat
      map_Pcr;      //clearcoat gloss
      map_Norm;  //normal
      map_Clip;    //clip map

So, if you ever looked into an OBJ file (*.obj), you know it may reference an associated Material file (*.mtl), with a command such as "mtllib" (material library) and thereafter use the various materials (usemtl command).

In the .mtl file, you have those attributes that lend the material properties. Example for a lighthouse:

newmtl lighthouse_base_texture
Ka 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 1
map_Kd lighthouse_textures/base_basecolor.png
map_Ns lighthouse_textures/base_roughness.png
map_refl lighthouse_textures/base_metallic.png
map_Bump -bm 1.000000 lighthouse_textures/base_normal.png

And the above is not even a very complete one at all. We'll show more detailed examples.

So, but what is PBR? Physics Based Rendering?

In PBR, everything has a range of 0-1.  This keeps artists from going off the deep end.

In PBR, everything is reflective.  Specular means reflection.  So, if a surface is specular, it is reflective.  There is no specular setting in PBR because everything is always specular.  Everything is always reflective.  Reflection can be either of an environment or of a light source.

That's where Roughness comes in.  Roughness controls how much reflected light scatters.  If roughness is zero, the surface is like a mirror - perfect reflection, no scattering, or dispersion, no spreading of the light into various directions..  If roughness is 1, the surface is like stone or clay, you can't really say much about where the light is coming from exactly. Ok, maybe just in part.

Roughness and metallic are the two most important PBR specific settings.

In PBR, everything has Fresnel, i.e. based on Fresnel angles, and angle of incidence for the light... .  Diffuse and reflected colors act differently based on Fresnel. Basically, light at a high Fresnel angle bounces off the surface, while light at a low Fresnel angle bounces around internally inside the material microfacets more, so they absorb more color.  Basically, edges look more reflective of the environment and non-edges take on more of the color of the surface.  Except for metals which always take on the color of the surface.

For fully Metalic surfaces, the surface absorbs all of the incoming light in the diffuse color.  You will see no internally microfacet bounced light.  If you use only direct illumination with a metal surface, you will see a black surface with only the specular highlights of the light and no diffuse color.

We also have clearcoat and clearcoat gloss.  This is basically for surfaces that have a coat of varnish.  The underlying surface can be anything, and will usually still be seen, but the clear coat will have a slight specular highlight.  It is not a true reflective surface.  It's just a hack to get specific kinds of surfaces, like car paint or wood with lacquered finish.  Clear coat gloss is exactly the same as the old specular gloss setting, except that it is normalized to between 0-1.

In fact, the legacy specular shading is implemented through this channel and shares the same settings, except the value is between 0-1000, and up.

Kn is a Howler specific setting that scales the intensity of bump and normal maps. 1 is the default setting.

AO maps let artist bake Ambient Occlusion into their model surface. It's useful when the rendering engine doesn't actually have the skills to calculate ambient occlusion by itself.

Now for the legacy settings:

Ambient.  We do not support per surface ambient, but the setting is loaded in case we want to in the future.

Diffuse.  The same as color or albedo.  Basically, what we usually consider the color of the surface.

Emissive.  The surface emits light, by itself, doesn't need another light to shine on it. For example a light bulb, a star, a fire , neon tube....  Unlike most other renderers, this setting can be in full color.

Tr/D.  Transparency or Dissolve.  They are opposites.  0 transparency is 1 dissolve.

We hope this helps.

We'll also create some videos showing some of those attributes and what effect they have.

Download the  free viewer  if you have an OBJ file you want to view with it.

See the recent updates also in this video:
What's new in Howler 2024

3D update:

Using Poisson blending to remove features even at image edges


July 28
rewrote the gamma filter to take care of some possible artifacts.

July 22
The 3D engine is now integrated with Howler -


July 12  - we're Shipping Build 61
- some extra tweaks and bug fixes.

July 8 - Shipping Build 60
- found a small bug and fixed it to reload stored animations after a crash. They should now re-appear as stored (still on disk) and available to continue working with them.
  Note: The initial item loaded is just the current frame, swap image too.

July 3
- Despite sickness, I managed to get a new feature in today.  Howler now attempts to reload a stored animation from disk after the program has crashed. If it finds it was stored, it should find it in the Temp folder. (wherever your installation's Temp folder is, for all things Dogwaffle)
- Note:
The Default path to PD Howler's Temp filder is something like this:
But that can differ if you installed elsewhere or through Steam edition. You can find the path to your Temp folder from inside Howler/Artist/Particles.

Jun 26
- Fixed some possible crashes in the Text Tool
- The text tool now blocks all keyboard shortcuts whenever visible instead of whenever it has focus.
- The text tool now allows pan and zoom commands through
- Fixed some issues with panning, zooming, and scrolling when the text tool was active

New video with some cool new features in the Text tool:

Interested in Text and Title tools? Animated Text? Text to brush tools? animated brushes from characters in a text string? Lots more in this playlist:

Jun 24
- Fixed a bug where font size grew or shrank by 2 steps when clicking the + and - size buttons on the text tool
- Smoothed out some of the screen refresh issues with text tool
- Possibly faster speller highlighting
- Known issue:  If the first word in the string is misspelled, all words will be highlighted. This remains a known issue.

Jun 23
- The text tool now allows mixed formatting and fonts
- The text tool AutoCorrect option now uses Widow's iSpellingChecker API
- Fixed a bug in the text tool that caused text to render in the wrong color or with the wrong alpha value
- Fixed a bug in the text tool that caused multiple refreshes when selecting a color
- Fixed a potential crash in the color mixer panel

June20 - quick bug fixes and further improvements.
- the build $45 had the context menu missing when right-clicking on the animation control's film strip. That wasn't a showstopper since the same is seen in the Animation > Frames... menu but it is still much better to have that shortcut when doing frame edits.

Jun 18
- Animated Gifs - We've got preliminary support for loading gif animations in Howler, meaning I've tested it once before lunch. :-)
  (will you please test it after lunch?)
- Committed a 270 word spelling library to the API.  It's a start.

Jun 17
- Added an API for working with GIF animations and additional support for wide strings.
Jun 16
- The OBJ loader is now 64 bit - try the free standalone version

Jun 15
- further bulletproofing in the 3D engine loader

Try the free obj loader if you have any version of Howler. This is a standalone app. Might work even in absence of Howler. Watch it, there's only OBJ support at the moment.

If you find an obj that won't load, can we see it?

Jun 14
- In the geometry renderer, you can now open a file in its default program(such as 3D Builder, 3D Viewer, 3D Paint,...)  or with Notepad. This helps in quickly checking details and perhaps fixing names (with spaces) or other issues in the materials or obj.
- Storing an animation now shows the frame number
- Analytical upscale now warns if its going to close an animation. If you have an animation, you might loose it because the analytical upscale currently only applies to the current image, doesn't have an option to apply across all frames of the animation.
- built a stable stand-alone OBJ viewer based on the new render engine. Give iit a try with your OBJ file?
- fixed a bug from an uninitialized flag that would cause the renderer to think images were loaded when they weren't

Jun 11
faster clipmaps and some general optimization

June 10
The mip-map seam problem is solved. (yay me!)
Status update June 9 - state of the new pipeline implenting PBR (Physics Based Rendering)

June 9
The rendering phase of development is now complete and moving on to scene description.

June 6
- Bump maps and Clip maps are now implemented in the 3D API
- Bump maps share the same channel with normal maps, so you can use one or the other, but there are few reasons to need both anyway.

June 4
- Added a double precision vector class to the API

May 31
- Normal mapping is now implemented, I think.

May 24
Implemented roughness, metalness, illumination, clearcoat, and clearcoat gloss physically based rendering parameters in the new internal 3D CPUGPU rasterizer.  Added mip map support. Correct bottom-up/top-down rendering is now read from the image file in the material loader.

This is the list of .mtl tags that will be supported by the new renderer or might be in the future.

late May 2023:

Hot! Notes on PBR - Physics Based Rendering: (being added to the Geometry viewer with OBJ files)

- Physically based rendering support almost finished.
- tested out adding parameters  for roughness, metalness, clearcoat and clearcoat gloss from the mtl files and they work as expected. 
- illumination channel is implemented but still needs testing.
- Default materials are working out-of-the-box when no mtl file was provided.
- triangulating polygons seems to be working.  Needs more testing.
- Mip maps are working well.

- Still need to implement ambient occlusion maps, clip maps, normal maps, and bump maps, and then we're done with materials. Maybe 2-3 more days on materials.

- speed is still ok.   I'm getting 15-20 fps.  This laptop is 2 cores slower than the old one.

May 20
Added new Text Terminal Typer tool to create 1970's style text output. See for example these videos:


May 3
Ambient color in the 3D renderer was not multiplied by the diffuse color

Apr 29
We haven't talked about it much, but our underlying GUI api has changed substantially

Apr 28
Dithering for the adjustable gradient tool for better looking gradients
Continuous flood fill mode might have filled the same area more than once.  There is now a slight pixel tollerence
Fixed a visual glith on the harmony panel

Apr 27
Build 40
Performance improvements in the OBJ renderer
beautification in the palette style mixer and the "Open new color mixer" option
"Use brush" and several options on the panel were broken

Apr 24
The wheel and color boxes on the color picker had trouble communicating with each other

Apr 17
Build 35
New color reticles in various places

Apr 10
Updated GUI_Server which effected several plugins and lua scripts
Penny and store buffer plugins now work properly along with lua scripts with a GUI

Apr 8
It's now possible to use the line tool with the FX brush settings, although switching tools tends to turn the fxbuffer off.

Apr 4
Some beautification and minor improvements to the Colored lense and ColorFX filters.

Apr 2
Build 33
Added antialiasing on the fill settings panel preview thumbnail
Bug fixes on the vector line tool

Apr 1st (It's no joke)
Build 31
Doubled the performance of the 3D geomerty renderer
Smoothed out the screen refresh flashing
Fixed implementation specific OpenGL bugs
Build 32
Various bug fixes and refinements to geometry rendering
Fixed the palm tree object that inexplicably had its material changed

Mar 31
build 30
Overhauled the graphical line tool
initial support for default materials in the geometry renderer
The painter's wheel is now fully antialiased

Mar 30
Fixed the new rotation control fom using a round endcap instead of an arrow
Added a new OpenGL drawing class to the API and expanded the encumbant drawing class
The Painter's Color Wheel now remembers some of its settings including segment count and wheel mode

Mar 29
Fixed a bug that may have led to a color picker crash(!)
Transitioning to a new development system
The installer has a new modern style

Mar 22
Fixed a bug in the box2 color picker that caused the wrong color to be shown under the reticle

Mar 20
Howler now warns if AVX extensions are not available

Mar 15
There is now a brush rotation control on the context bar
further bulletproofing for OBJ loading

Mar 13
New layout for the fill settings panel empasizing readability and having just what you need when you need it.
Line tool options that are not currently available are ghosted out.
Fixed turkey baster bugs of allowing some tools to render into the buffer while the turkey baster was active.
Options in geometry loading to center or place on ground level.
Fixed overflow in geometry loading when too many smoothing groups were present to fit into the underlying datatype
The CLAHE panel had the incorrect title

Mar 10
Brush settings panel, shapes panel, paper panel, and particles panel open faster the first time on average.
The brush shapes panel no longer waits for loading the directory of brush shapes before opening in order to seem more repsonsive.
Closeing down the program closes the main window much sooner to make shutdown seem much faster.

Mar 9
Howler now hides the cleanup stages on exit so the window closes a lot faster.

Mar 8
We've got a long list of updates to our GUI control api:
Button control supports finer control over picture placement and alternate images for selected state
Several controls support disabled ghosting that didn't before
Several new selection highlight modes added
GUI Performance improvements by eliminated unneccesary drawing
Possible faster startup

Mar 6
Flip buttons for gradients
The painter's color wheel now supports locking color harmonies.
Fixed a bug on the panel where analogous colors were displayed with the wrong tone if he panel was sized.

Mar 4
The colors on the color theme tab get a luminance gradient in this build.
Saving settings in the settings panel causes the default resolution file to be reloaded in the canvas size panel.

Mar 3
The color sampling tool can now sample multiple colors, save them as web colors, or use the swatch as a color picker.

Mar 1
Overhauled the color sampling (turkey baster) tool with new options including sampling an arbitrary area.
Fixed using the esc key to close the tool operlapping with the esc key to clear all brush settings.

-Feb 28
In the process of Integrating new and upgraded controls and components
The context bar for the color picker (turkey baster) tool returns
The current gradient is now visible in the gradient dropdown controls on the context bar
updated formatting of margins on the context bar
GPU status is no longer reported in the info window because GPU is always on since 2023



....not looking for this? go back to the top              

the Free Demo / Trial version of PD Howler 2024

Ready to try it for free before making a purchase decision? Here you can download and install a free demo trial version:

download this installer:  Howler_2024_Demo_0036.exe
WARNING! Be sure to verify the integrity of your downloaded file - Compare the checksums here!

The amazingly evolutionary Free Standalone OBJ loader & viewer (experimental)
We have been developing a standalone loader & viewer for the OBJ file format. It will continue to evolve as we add features for PBR. We are letting you have a stab at loading an OBJ file and seeing it animated/tumbling and interactively view and render it.

This is there to develop the code for our graphic pipeline that will go into GPU and go even faster and better over time.

We're implementing PBR - Physics Based Rendering.

Try it here:

Download, and run this file: OBJ_Loader_PBR_64.exe
New: this is the 64-bit version of the standalone viewer.

Important Notes:
This is not an installer. Just run it.
Dependencies: it does not need PD Howler. You do need a Visual Studio C++ runtime library, which is very likely your PC already got by virtual of installing something else. See more further below

Name: OBJ_Loader_PBR_64.exe
Size: 216576 bytes (211 KiB)
CRC32: F0092473
CRC64: 7FB8B2E073333762
SHA256: F8F97D9775EE30038073E346EC43E1596D079FB9B3EA73BE93A2AB13D225FFB3
SHA1: 72C3D8CDD596278B3C1E010CE6444211C8C27AED
BLAKE2sp: 8AFB86909AE7788666BA71BB8DF4C8A103537773C0E6D1A7687E369EC9EC92C4

The un-user guide:
- Run it and it will ask you to pick a file in .obj format.
- It doesn't check if it's really an obj. It assumes you know what you're doing.
- It tries to load it and its material file too, if there is one, and image file(s) representing textures and other maps (clip masks, bump maps...) if any are mentioned in the material file.
- It then tries to render it and animate (tumble) it.
- Try it on some of the trees or test items found in PD Howler's Geometry subfolders where you have it installed.
- or try it on your own 3D models created in Blender or other tools.
- or with OBJ files from NASA models that are 3-D printer ready.
- Once the item is showing in the view, it is moving slightly up and down and spinning.
- You can also use the mouse with left button and drag sideways or up/down to further move around

- It really just needs the Visual Studio C++ dependencies which you get when you install PD Howler.
- It should be possible to get them other ways.
- Any program that uses Visual studio v15-v19 should install it, although there are different x86 and 64 bit versions.  
- Also OBS Studio should install it. If you can't get our OBJ viewer to launch, perhaps installing OBS Studio can fix it?

What is OBS Studio?
Open source software for screen recording and screen casting.

OBS (Open Broadcaster Software) is free and open source software for video recording and live streaming. Stream to Twitch, YouTube and many other providers or record your own videos with high quality H264 / AAC encoding.


Docs & Help - the Documentation - and Tutorials

We have various guides, and with the help of some supporters we also are happy to show some translations: English, French and Spanish documentation, German and a few other options, to learn more about using Dogwaffle.

If you can write in German, Italian, Indonesian, Chinese, Japanese, ... any other language, please help spread the word and joys of waffling.

We have 1000+ free tutorial videos at youtube. (pdhowler channel and also the older staigerman channel).

We have a bunch of testimonials in the Dogwaffler of the moment (DOTM) and some with tutorials.

We still offer an old tutorial CD for getting started with Dogwaffle. It is a bit old but will bring back memories and joys of discovery. But of course, the best way to learn is to dive in and try things, and watch the many free videos on our Youube channel.

Start here:






YouTube channel:

Some Recent Tutorials:

The New Sky Filter - part 1

New tutorial:

(ab)Using the Halftone FX mode for Custom brushes:



Latest versions - Checksums

Got it? downloaded it? Please take the time to verify that your download is authentic and complete. Make sure it's legit and hasn't been tampered with.

Never Download nor Install from untrusted or unauthorized sources.

Simply Right-click the icon of the downloaded  .exe program (the installer file), and find CRC SHA256 or similar information to compare with these shown below:

Below you see the expected checksums. If you see a different value on your copy of the file, your copy is corrupted or may have been tampered with. (perhaps containing a virus)

Checksums of the full versions, most recent releases of PD Howler and PD Artist:
Checksums for recently released builds:

Name: Howler_2024_0075.exe new!

Size: 138464340 bytes (132 MiB)
CRC32: 34D5DC34
CRC64: C89829D47C0B6195
SHA256: 611D7909401A89A9642CBB6235DD0456491B6C500C669D532B434296D0A36095
SHA1: A97C7411DC88DC9EC1327293848B56CA537C080F
BLAKE2sp: 5C156CA7CAA1937DC53CD812870F9688A98156117ED5DB13649D616DA9D4E9B2



Name: Howler_2024_0060.exe

Size: 135397723 bytes (129 MiB)
CRC32: C94C48CA
SHA256: 3CE3EE6062F2512514353F31A5C02E88CDFFA626FF8BC5C410207DACB61A434C
SHA1: 3BAD71CAAA955EB5CE1E559D5A2FBD1440D24185
BLAKE2sp: DA470A92ADDFA8F2E372EB89D06F24B377A82EE5CF21CE979536118B6E05A146


Checksums of the free trial demo version

Name: Howler_2024_Demo_0036.exe

Size: 135363618 bytes (129 MiB)

CRC32: 607311C7
CRC64: 446C033A678E58C3
SHA256: 24EB25A05AE764BF44769022651A77ED7446A0F0FC01A18DA1DFE6A15019D679
SHA1: C2E7787FED92137AE46AB1F281254CB339AA7B79
BLAKE2sp: 0ACAC19466BB828E066E38B27124A461A343E5E1CE76C65645937C6A4D9242BB



People are usually silent or very vocal ;-)

See a few examples of what they do with PD Howler and even lesser versions of Dogwaffle or early PD Pro -
- Dogwafflers of the Moment


Newsletters - the coverage of Howler 2024 - soon