Heat 2 tbsp of the butter in a heavy-bottomed skillet.
Add onion and pepper and sauté over medium heat until softened, about 5 minutes. Add asparagus and mushrooms; cook 2 minutes.
Reduce heat to low, add rice and stir constantly. Gradually pour in 1 cup of the stock; reduce heat to medium-low. Stirring constantly, add remaining stock in 1/2-cup increments as it gets absorbed, about 30 minutes total, until rice is tender.
Season with salt and pepper. Stir in remaining 2 tbsp butter and, if desired, Parmesan.