Laser engraving is a great method to put images onto glass, stone or metal using a high-powered laser machine guided by computer files. Laser engraving provides the most precise, even photo-realistic imaging onto almost any material. You can use almost any computer image as a guide for the engraving. It does require access to the laser-engraving machine, which may be difficult or expensive to come by.
Sand blasting is a method of engraving that uses bursts of erosive sand to create images on glass and granite. Like laser engraving, sand blasting requires its own machine. Stencils are applied to the material to be engraved, and the sand is shot through those stencils. Sand blasting produces a clearer end product than acid etching but is not quite as precise as laser engraving. Because sand blasting allows the user to control the stream of sand on the fly, it does offer more control over the depth of the etch than laser engraving.
A much more primitive way to engrave on materials is to scratch the image onto it with a harder material. It's not a common way to create repeatable professional engravings, but it can be used for simple engraving. Scratching on glass is a well known form of graffiti, called scratchiti. Some scratchiti artists develop elaborate styles that some argue are quite beautiful even though they are vandalism. The artists use keys, rocks and specialized scratching pens to leave their mark on glass.
Hand engraving can be done with any of a number of electrically powered engraving tools. These include Dremel tools that spin small abrasive blades that can cut into stone or glass, or oscillating styluses air-powered by small electric compressors that can be used for glass or metal. Electric hand engraving is an art form in itself, with many accomplished artists able to create results more elaborate and well drawn than laser engraving.